Skip to content

Conversation

@wchevreuil
Copy link
Contributor

No description provided.

…operties

Change-Id: I3681c3b1a50196a70ece04fde08da06448d16353
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

* notifications of dynamic configuration changes. The default is a noop.
* @param config the new configuration to be updated.
*/
default void refreshConfiguration(Configuration config) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just implement ConfigurationObserver?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just thought to reuse CacheConfig as the observer for all cache related configuration changes notifications. Sounds less convoluted to have just one observer, but no hard feelings about it. I can change if you prefer to have BlockCache implementing ConfigurationObserver.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can make CacheConfig implement PropagatingConfigurationObserver, so it can register children ConfigurationObservers to ConfigurationManager.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, have pushed a new commit with these suggestions.

@Apache-HBase

This comment has been minimized.

Change-Id: I0aac16ed7d685ac533fe9d0325747be03adc9140
Change-Id: I72430e198d729500cd314ea1ec59d05edb8f415a
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

Change-Id: I12afe38cd3df15974a44101accd74614edec2a01
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.


@Override
public void onConfigurationChange(Configuration config) {
this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't touch this area for a long time, all these configs can be loaded dynamically? IIRC, BucketCache will pre alloc all the memory chunks when initializing, configuration refreshing can not trigger the allocation again.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. We can't make any of the bucket allocation related properties, such as bucket sizes and cache size dynamic as those would require a reset of the cache.

The properties being updated here are not related to the cache size, nor how the cache spaces are allocated, so it won't cause a cache reset.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: can we add a comment of javadoc on what properties could not be dynamic config? basically we changed ConfigurationObserver to be part of the dynamic config.

Change-Id: Ia7d67f5593aaaefe591e438c00036c2846dc7f8f
@Apache-HBase

This comment has been minimized.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 28s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+1 💚 mvninstall 4m 13s master passed
+1 💚 compile 3m 34s master passed
+1 💚 checkstyle 0m 43s master passed
+1 💚 spotbugs 1m 54s master passed
+1 💚 spotless 0m 54s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+1 💚 mvninstall 3m 40s the patch passed
+1 💚 compile 3m 31s the patch passed
+1 💚 javac 3m 31s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 41s the patch passed
+1 💚 spotbugs 2m 0s the patch passed
+1 💚 hadoopcheck 12m 51s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 0m 52s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 12s The patch does not generate ASF License warnings.
43m 24s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6897/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #6897
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux b9bd6a5d5d65 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 25beeca
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 84 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6897/6/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 31s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚 mvninstall 5m 9s master passed
+1 💚 compile 1m 27s master passed
+1 💚 javadoc 0m 39s master passed
+1 💚 shadedjars 6m 58s branch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 3m 42s the patch passed
+1 💚 compile 1m 12s the patch passed
+1 💚 javac 1m 12s the patch passed
+1 💚 javadoc 0m 32s the patch passed
+1 💚 shadedjars 6m 13s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌ unit 243m 32s /patch-unit-hbase-server.txt hbase-server in the patch failed.
274m 37s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6897/6/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #6897
Optional Tests javac javadoc unit compile shadedjars
uname Linux a6b516ff0430 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 25beeca
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6897/6/testReport/
Max. process+thread count 4444 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6897/6/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@taklwu taklwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 , add a minor comment about putting a comment what could be or could not be dynamic configuration in the code (or just say be cautions about this function.)

Change-Id: Id6390798d91d6f557caa0ed0007eda817c4ac16c
@wchevreuil wchevreuil merged commit ae40069 into apache:master Apr 25, 2025
wchevreuil added a commit that referenced this pull request Apr 25, 2025
…operties (#6897)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Tak Lon (Stephen) Wu <[email protected]>
wchevreuil added a commit to wchevreuil/hbase that referenced this pull request Apr 25, 2025
…operties (apache#6897)

Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Tak Lon (Stephen) Wu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants