Skip to content

Star 1864#601

Merged
ethan-brown2022 merged 28 commits intodatastax:ds-trunkfrom
ethan-brown2022:STAR-1864
Apr 5, 2023
Merged

Star 1864#601
ethan-brown2022 merged 28 commits intodatastax:ds-trunkfrom
ethan-brown2022:STAR-1864

Conversation

@ethan-brown2022
Copy link
Copy Markdown

No description provided.

@ethan-brown2022 ethan-brown2022 requested a review from blambov March 8, 2023 19:43
@blambov
Copy link
Copy Markdown

blambov commented Mar 10, 2023

There are a few test failures directly caused by the changes we made -- the tests should be adjusted to reflect the current operation.

Also look at sonarcloud's output; one of the things we should do is replace W with scaling_parameter, which is already done in the static controller. The 2 sonarcloud bugs are from a rule that often flags false positives, but in this case it is valid: we should either make sure we always replace the whole array in AdaptiveController.maybeUpdate, or change the array to be an AtomicIntegerArray so that modifications to values become visible to the compaction threads immediately.

@blambov
Copy link
Copy Markdown

blambov commented Mar 10, 2023

Actually, it's better to remove the volatile modifier / atomicity of the scaling factor update, because they are protected by the synchronized block in UCS.getNextBackgroundTasks; happens-before relationships between this thread leaving the block and the next one entering guarantee that the new values are visible. If we ever remove that synchronization we run the risk of values changing in the middle of selecting tasks, which must be properly dealt with.

Please do remove the modifier, and add the comment "Protected by the synchronized block in UnifiedCompactionStrategy#getNextBackgroundTasks" to both fields, as well as to onStrategyBackgroundTaskRequest and maybeUpdate.

Comment thread src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java Outdated
Copy link
Copy Markdown

@blambov blambov left a comment

Choose a reason for hiding this comment

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

LGTM

No need to fix the cognitive complexity sonarcloud reports. These methods are trivial and just apply the same pattern to a lot of fields.

Ethan Brown added 24 commits April 3, 2023 07:47
The variable W is changed from an int to an array of ints "Ws" with length 32.
Ws[0] is the scaling parameter for level 0, Ws[1] is the scaling parameter for level 1, etc.
Read Amplification and Write Amplification are calculated using Ws[0].
If W would be replaced with candW, instead set Ws[0] to candW and update the other levels (Ws[0] becomes candW, Ws[1] becomes the previous Ws[0], Ws[2] becomes the previous Ws[1], ...)
If W would remain the same, keep current Ws[0] and update the other levels (Ws[0] remains unchanged, Ws[1] becomes the previous Ws[0], etc.)
Added function to determine if a given compaction is adaptive.
…gh unified_compaction.max_adaptive_compactions
example: candW = 4, Ws = {4, 4, 12, 16} --> Ws = {4, 4, 4, 16}
as a result, higher levels will be less prone to changes
…ith the new way of applying changes to W to each level
This was calculated as total processed divided by total time,
which is not correct when operations do not start at the same
time.
… it is reflected in the read latency. Read costs now include all sstables checked regardless of hit.
CostCalculator no longer has readMultiplier and writeMultipler
since they are now included in CompactionStrategyOptions
- Removed survivalFactor from readCost calculation
- Changed DEFAULT_MAX_ADAPTIVE_COMPACTION from 2 to 5
…age Specification issue in TableMetrics.java
djatnieks pushed a commit that referenced this pull request Aug 22, 2023
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)
djatnieks pushed a commit that referenced this pull request Sep 12, 2023
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)
djatnieks pushed a commit that referenced this pull request Feb 14, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request Mar 29, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request Apr 1, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request Apr 16, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request May 17, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
jacek-lewandowski pushed a commit that referenced this pull request Jul 17, 2024
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request Jan 30, 2025
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
djatnieks pushed a commit that referenced this pull request May 18, 2025
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
michaelsembwever pushed a commit that referenced this pull request Feb 6, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java
michaelsembwever pushed a commit that referenced this pull request Feb 10, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java

 (Rebase of commit 8216f4f)
michaelsembwever pushed a commit that referenced this pull request Feb 11, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java

 (Rebase of commit 8216f4f)
michaelsembwever pushed a commit that referenced this pull request Feb 12, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java

 (Rebase of commit 8216f4f)
michaelsembwever pushed a commit that referenced this pull request Feb 14, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java

 (Rebase of commit 8216f4f)
michaelsembwever pushed a commit that referenced this pull request Feb 16, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

# Conflicts:
#	src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
#	src/java/org/apache/cassandra/db/compaction/CompactionStrategyOptions.java
#	src/java/org/apache/cassandra/db/compaction/unified/AdaptiveController.java
#	src/java/org/apache/cassandra/db/compaction/unified/CostsCalculator.java
#	src/java/org/apache/cassandra/db/memtable/Flushing.java
#	test/unit/org/apache/cassandra/db/compaction/CompactionSimulationTest.java
#	test/unit/org/apache/cassandra/db/compaction/unified/CostsCalculatorTest.java

 (Rebase of commit 8216f4f)
michaelsembwever pushed a commit that referenced this pull request Feb 27, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Mar 2, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Mar 4, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Mar 5, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Mar 25, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Mar 27, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
michaelsembwever pushed a commit that referenced this pull request Apr 14, 2026
- Changes to W are applied to level 0 first, and applied to higher levels on future calls if the choice remains the same.

- Added max_adaptive_compactions option that sets a limit on the number of concurrent "adaptive compactions" (compactions triggered by changing W).

- Updated read costs to include all sstables checked regardless of hit.

- Made readMultiplier and writeMultiplier configurable options (costs_read_multiplier and costs_write_multiplier) and changed default readMultiplier to 0.5.

- Compaction costs are only updated if inputDiskSize > 0.

(cherry picked from commit 7f34b7c)
(cherry picked from commit 3b26eeb)

 (Rebase of commit 8216f4f)

STAR-1864 changed default readMultiplier from 0.5 to 1.0 (#609)

* added Void type in Timer.java for testing

* changed default readMultiplier to 1.0 instead of 0.5

* removed changes to Timer.java

(cherry picked from commit 57013da)
(cherry picked from commit f521a6a)
(cherry picked from commit e24c809)

 (Rebase of commit 05fade6)
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.

3 participants