Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust compaction #1360

Merged
merged 170 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
9409fea
Rust compaction update
m09526 Sep 22, 2023
5bd6c73
Update NOTICES
m09526 Sep 22, 2023
f0fe466
Merge branch 'main' into 1359-accelerated-compaction-support
m09526 Oct 6, 2023
85175d0
Update code to remove min/max key
m09526 Oct 6, 2023
1305497
Remove unused imports
m09526 Oct 6, 2023
6479ddb
Better logging and no code rebuilding
m09526 Oct 6, 2023
9db8ad4
Update error code
m09526 Oct 6, 2023
e65bde8
Update error code
m09526 Oct 6, 2023
110af1e
Add debug
m09526 Oct 6, 2023
f79f106
Log from app
m09526 Oct 10, 2023
bcfaa17
More debug
m09526 Oct 10, 2023
388fd75
Even more debug
m09526 Oct 10, 2023
3c33deb
Put parameters back
m09526 Oct 10, 2023
67a69e9
Fix double comma
m09526 Oct 10, 2023
c99633e
Removed debug and fixed bug
m09526 Oct 13, 2023
33474a7
Less schema code
m09526 Oct 25, 2023
7e69c4c
Merge branch 'main' into 1359-accelerated-compaction-support
m09526 Oct 25, 2023
ff509f0
Merge branch 'main' into 1359-accelerated-compaction-support
m09526 Nov 1, 2023
7802bc5
Rust code fix
m09526 Nov 1, 2023
c771fbe
Logging for object store
m09526 Nov 1, 2023
c163d09
Better cache implementation
m09526 Nov 2, 2023
65d24a0
Better cache implementation
m09526 Nov 2, 2023
f210e0b
Merge branch 'main' into 1359-accelerated-compaction-support
m09526 Nov 3, 2023
433cf65
version bump
m09526 Nov 6, 2023
8c18253
Merge branch 'main' into 1359-accelerated-compaction-support
m09526 Nov 10, 2023
5b66c94
Remove Cargo lock from ignore
m09526 Feb 5, 2024
1407536
Add cargo lcok
m09526 Feb 5, 2024
9f78ca5
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 16, 2024
f3e9759
First update of some versions
m09526 Apr 16, 2024
175e944
Update sketches library
m09526 Apr 16, 2024
df19ed6
Remove rust compiler errors
m09526 Apr 16, 2024
6b37336
Minor improvement
m09526 Apr 16, 2024
23cf179
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 17, 2024
4e848cb
Updated struct for Java bridge
m09526 Apr 18, 2024
d19bfa3
WIP refactor compaction
m09526 Apr 18, 2024
c16fc6a
Refactor Java compaction
m09526 Apr 19, 2024
39f28c4
Tests fixed
m09526 Apr 19, 2024
93fa066
Class added
m09526 Apr 19, 2024
aa0d717
Modified for checkstyle
m09526 Apr 19, 2024
2cf2967
Refactor for method selection
m09526 Apr 19, 2024
ec89df4
Checkstyle fixes
m09526 Apr 19, 2024
a1d7236
More checkstyle
m09526 Apr 19, 2024
833ddd4
Update SSL fix for cross compilation
m09526 Apr 19, 2024
2e664dd
Better validation
m09526 Apr 19, 2024
6174029
Finished FFI bridge
m09526 Apr 22, 2024
690ddd6
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 22, 2024
28d14e2
Checkstyle modifications
m09526 Apr 22, 2024
93ed49c
Most bridging code complete
m09526 Apr 22, 2024
79add9e
Bridge complete
m09526 Apr 22, 2024
d847bec
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 23, 2024
b600cda
Rust side of bridge done
m09526 Apr 23, 2024
237b9ac
Clippy warnings
m09526 Apr 23, 2024
69aaf11
Remove old code
m09526 Apr 23, 2024
b1f76dd
License changes
m09526 Apr 23, 2024
33ce895
DataFusion skeleton ready
m09526 Apr 23, 2024
8e9595c
WIP datafusion code
m09526 Apr 23, 2024
c6215a4
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 24, 2024
d21eb19
DataFusion done
m09526 Apr 24, 2024
f4ac9be
clippy warnings
m09526 Apr 24, 2024
4cf2ffc
Compaction links up
m09526 Apr 24, 2024
e55e8f7
Partitions work
m09526 Apr 24, 2024
72922e8
better region coding
m09526 Apr 25, 2024
43a40f6
Tidied some comments and test behaviour
m09526 Apr 26, 2024
0df2eff
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 26, 2024
e06240d
compiles with sketches
m09526 Apr 26, 2024
c36c4d3
Clippy warnings
m09526 Apr 26, 2024
7d84edc
Sketches work
m09526 Apr 26, 2024
7813c22
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Apr 29, 2024
6484759
Fixed log messages
m09526 Apr 30, 2024
8196b0f
Null upper bounds now supported
m09526 Apr 30, 2024
c022773
Update name of UDF
m09526 Apr 30, 2024
c8f7582
Some changes in preparation for memory limiting
m09526 Apr 30, 2024
82118d7
Write CPU numbers out
m09526 Apr 30, 2024
13fc821
Memory limit expr.
m09526 May 2, 2024
1e6e974
Remove memory management code
m09526 May 2, 2024
fbc82f7
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 2, 2024
9974ce7
Fix
m09526 May 2, 2024
d02c6ca
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 2, 2024
41b4d6a
Refactor
m09526 May 3, 2024
3d7f3b3
Minor improvements to DF
m09526 May 3, 2024
b1565ea
Deadlock removed
m09526 May 3, 2024
c3c72e6
Typo
m09526 May 3, 2024
19cc6c5
Formatting
m09526 May 3, 2024
3996446
Uppercase selection
m09526 May 3, 2024
9594d42
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 3, 2024
eb72387
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 8, 2024
f1a511e
Moved
m09526 May 8, 2024
18c8b66
Checkstyle
m09526 May 8, 2024
a28df4a
Merge develop
m09526 May 10, 2024
82e052b
Add
m09526 May 10, 2024
8f9b4ec
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 13, 2024
1a82e0b
Merge fixes
m09526 May 13, 2024
d490a50
Compiler error fix
m09526 May 13, 2024
4419140
Checkstyle check
m09526 May 13, 2024
368cae6
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 13, 2024
754e490
versions update
m09526 May 13, 2024
b1cf1f2
Read row counts from physical plan
m09526 May 13, 2024
e08de8f
Cliipy warnings removed
m09526 May 13, 2024
91e3ec5
Cliipy warnings removed
m09526 May 13, 2024
e153c70
refactor
m09526 May 13, 2024
c3ab87c
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 14, 2024
7f459c2
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 15, 2024
82f1e3e
Spot bug fix
m09526 May 15, 2024
747c415
SQL and aggregation check. Not sorting correctly!
m09526 May 15, 2024
fd16a3c
DF test
m09526 May 16, 2024
cfe2475
update
m09526 May 16, 2024
f1b48f4
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 16, 2024
50521ad
Sort bug fixed
m09526 May 16, 2024
3475175
Remove sql
m09526 May 17, 2024
7ea6214
Standard compact
m09526 May 17, 2024
2036f21
Rust aggregation
m09526 May 17, 2024
3ffa5c0
Add simple hack to make Java double compaction workload
m09526 May 17, 2024
9b919a6
Fix bug for not implementing iterators
m09526 May 17, 2024
e26b094
Remove aggregation
m09526 May 21, 2024
0e0ec1a
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 23, 2024
ddfb999
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 28, 2024
d52b354
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 May 31, 2024
20dd5ea
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 3, 2024
b6e53f8
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 4, 2024
c154690
Update Rust compaction pom
m09526 Jun 4, 2024
718e3bf
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 5, 2024
b2d22a1
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 6, 2024
4a349d1
Checkstyle fixes
m09526 Jun 6, 2024
688a128
Fix chunk build error
m09526 Jun 6, 2024
86834db
Added packages to ensure Rust builds inside nix shell
m09526 Jun 6, 2024
34bcc15
Add cross to chunk.yaml
m09526 Jun 7, 2024
7dff8c3
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 7, 2024
f4069cd
Add to full maven build workflow
m09526 Jun 7, 2024
3b9bbd5
Add Rust plugins
m09526 Jun 10, 2024
fb447f4
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 11, 2024
8426154
Enable Rust and Cross in dependency check
m09526 Jun 11, 2024
d6f4866
Re-generate template properties
m09526 Jun 11, 2024
2890799
Fix dependency docker
m09526 Jun 11, 2024
a280a96
Add Rust to docker image build Action
m09526 Jun 11, 2024
b7773a1
Refactor to deal with configuration object in defaultselector
m09526 Jun 11, 2024
8b14a5d
Fix message in templates
m09526 Jun 11, 2024
6c2fe01
Try deleting some things to save space
m09526 Jun 12, 2024
c8cd0f3
Update year
m09526 Jun 12, 2024
57fe8e7
Update year
m09526 Jun 12, 2024
a9996de
Change check order for readability
m09526 Jun 13, 2024
64018a4
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 24, 2024
efd1d8c
Code review changes
m09526 Jun 26, 2024
666b8a8
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jun 26, 2024
526b3e8
SkipRust on compile
m09526 Jun 26, 2024
4813dbf
Lock Rustc version
m09526 Jun 26, 2024
f94576b
Update crate
m09526 Jun 26, 2024
0cba565
Fix nullable column bug
m09526 Jun 27, 2024
2b6f7be
Logging added to multipart upload
m09526 Jun 27, 2024
1b026a1
Fixed schema bug
m09526 Jun 28, 2024
b811312
Merge remote-tracking branch 'origin/develop' into 1359-accelerated-c…
patchwork01 Jul 1, 2024
a3e1379
Better schema handling and multipart upload shim
m09526 Jul 1, 2024
9ba0bcb
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 1, 2024
1311690
Fix a typo
m09526 Jul 1, 2024
8b5abcc
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 1, 2024
1d0e15b
Variable names and remove un-needed qualifier
m09526 Jul 1, 2024
3afd1d1
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 1, 2024
2b0816a
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 2, 2024
29ad329
Adaptable multipart sizes
m09526 Jul 2, 2024
b3a595c
Merge branch '1359-accelerated-compaction-support' of github-m09526:g…
m09526 Jul 2, 2024
f08d8d4
Output store should be set
m09526 Jul 2, 2024
c8e40bf
Extra memory protection
m09526 Jul 3, 2024
4c92f60
Remove memory constraint
m09526 Jul 3, 2024
b7e2438
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 8, 2024
a57a5ad
Merge branch 'develop' into 1359-accelerated-compaction-support
m09526 Jul 9, 2024
de0514c
Some code review changes
m09526 Jul 10, 2024
0e0905d
Merge remote-tracking branch 'origin/develop' into 1359-accelerated-c…
patchwork01 Jul 11, 2024
861d92d
Remove Rust from GitHub workflows that don't currently use it
patchwork01 Jul 11, 2024
8226547
Move Rust install to builder Docker image
patchwork01 Jul 11, 2024
c46f109
Skip Rust in dependency check workflow
patchwork01 Jul 11, 2024
217b214
Skip Rust in chunk.yaml test step
patchwork01 Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"vscjava.vscode-java-pack",
"shengchen.vscode-checkstyle",
"eamodio.gitlens",
"1yib.rust-bundle",
"mhutchie.git-graph"
]
}
Expand Down
4 changes: 3 additions & 1 deletion .github/config/chunks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ chunks:
compaction:
name: Compaction
workflow: chunk-compaction.yaml
modules: [ compaction/compaction-job-execution, compaction/compaction-task-creation, compaction/compaction-job-creation, compaction/compaction-job-creation-lambda, compaction/compaction-status-store, compaction/compaction-core, splitter/splitter-core, splitter/splitter-lambda ]
modules: [ compaction/compaction-job-execution, compaction/compaction-task-creation, compaction/compaction-job-creation, compaction/compaction-job-creation-lambda, compaction/compaction-status-store, compaction/compaction-core, splitter/splitter-core, splitter/splitter-lambda, compaction/compaction-rust ]
data:
name: Data
workflow: chunk-data.yaml
Expand All @@ -47,3 +47,5 @@ chunks:
name: Trino
workflow: chunk-trino.yaml
modules: [ trino ]


1 change: 1 addition & 0 deletions .github/workflows/chunk-cdk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ on:
- 'java/bulk-import/bulk-import-common/**'
- 'java/splitter/splitter-core/**'
- 'java/compaction/compaction-job-execution/**'
- 'java/compaction/compaction-rust/**'
- 'java/ingest/ingest-batcher-core/**'
- 'java/query/query-runner/**'
- 'java/garbage-collector/**'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/chunk-compaction.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- 'java/splitter/pom.xml'
- 'java/compaction/compaction-job-execution/**'
- 'java/compaction/compaction-task-creation/**'
- 'java/compaction/compaction-rust/**'
- 'java/compaction/compaction-job-creation/**'
- 'java/compaction/compaction-job-creation-lambda/**'
- 'java/compaction/compaction-status-store/**'
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/chunk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ on:
chunkId:
required: true
type: string
skipRust:
default: true
required: false
type: boolean

jobs:
build:
Expand All @@ -15,6 +19,11 @@ jobs:
with:
java-version: '17'
distribution: 'corretto'
- uses: dtolnay/[email protected]
if: ${{ ! inputs.skipRust }}
- name: Install cargo cross
run: cargo install cross
patchwork01 marked this conversation as resolved.
Show resolved Hide resolved
if: ${{ ! inputs.skipRust }}
- name: Cache dependencies
uses: actions/cache@v4
with:
Expand All @@ -34,11 +43,11 @@ jobs:
-Dexec.args="${{ inputs.chunkId }} github_actions_outputs ${{ github.workspace }}/.github/config/chunks.yaml" \
>> $GITHUB_OUTPUT
- name: Compile
run: mvn --batch-mode clean install -am -pl ${{ steps.config.outputs.moduleList }} -Pquick,skipShade -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
run: mvn --batch-mode clean install -am -pl ${{ steps.config.outputs.moduleList }} -Pquick,skipShade -DskipRust=${{ inputs.skipRust }} -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
working-directory: ./java
- name: Test
id: test
run: mvn --batch-mode --fail-at-end verify -pl ${{ steps.config.outputs.moduleList }} -Dmaven.repo.local=${{ runner.temp }}/.m2/repository -e
run: mvn --batch-mode --fail-at-end verify -pl ${{ steps.config.outputs.moduleList }} -DskipRust=${{ inputs.skipRust }} -Dmaven.repo.local=${{ runner.temp }}/.m2/repository -e
working-directory: ./java
- name: Generate site
id: site
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
run: mvn --batch-mode dependency-check:update-only -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
working-directory: ./java
- name: Build with Maven
run: mvn --batch-mode verify dependency-check:aggregate -Pquick -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
run: mvn --batch-mode verify dependency-check:aggregate -Pquick -DskipRust -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
working-directory: ./java
- name: Cache Maven dependencies & CVEs database
uses: actions/cache/save@v3
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/docker-cli-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ jobs:

steps:
- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache
run: |
rm -rf /opt/hostedtoolcache
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
rm -rf "/usr/local/share/boost"
rm -rf "$AGENT_TOOLSDIRECTORY"
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-cli.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
needs: setup
uses: ./.github/workflows/docker-cli-image.yaml
with:
mavenCmd: ./scripts/cli/environment/buildMaven.sh package -Pquick --batch-mode -Dmaven.repo.local=../.m2/repository
mavenCmd: ./scripts/cli/environment/buildMaven.sh package -Pquick -DskipRust --batch-mode -Dmaven.repo.local=../.m2/repository
pushImages: ${{ inputs.pushImages }}
context: ./scripts/cli/environment
pushTag: ${{ needs.setup.outputs.envTag }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/maven-full.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
run: mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
working-directory: ./java
- name: Build with Maven
run: mvn --batch-mode verify -Pquick -T 1C -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
run: mvn --batch-mode verify -Pquick -T 1C -DskipRust -Dmaven.repo.local=${{ runner.temp }}/.m2/repository
working-directory: ./java
- name: Validate properties templates are up to date
working-directory: ./java
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ __pycache__
python/build/
python/src/sleeper.egg-info/
python/env/

101 changes: 101 additions & 0 deletions NOTICES
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,107 @@ s3fs:

- The 3-Clause BSD License

Sleeper contains Rust code. This has the following dependencies.

Rust Object Store (https://github.com/apache/arrow-rs/tree/master/object_store)

- Apache License, Version 2.0

color-eyre (https://github.com/yaahc/color-eyre)

- Apache License, Version 2.0

Tokio (https://github.com/tokio-rs/tokio)

- MIT License

owo-colors (https://github.com/jam1garner/owo-colors)

- MIT License

thiserror (https://github.com/dtolnay/thiserror)

- Apache License, Version 2.0

log (https://github.com/rust-lang/log)

- Apache License, Version 2.0

env_logger (https://github.com/rust-cli/env_logger/)

- Apache License, Version 2.0

human-panic (https://github.com/rust-cli/human-panic)

- Apache License, Version 2.0

clap (https://github.com/clap-rs/clap)

- Apache License, Version 2.0

libc (https://github.com/rust-lang/libc)

- Apache License, Version 2.0

arrow (https://github.com/apache/arrow-rs)

- Apache License, Version 2.0

futures (https://github.com/rust-lang/futures-rs)

- MIT License

itertools (https://github.com/rust-itertools/itertools)

- Apache License, Version 2.0

object_store (https://github.com/apache/arrow-rs/tree/master/object_store)

- Apache License, Version 2.0

aws-config (https://github.com/awslabs/smithy-rs)

- Apache License, Version 2.0

aws-credentials (https://github.com/awslabs/smithy-rs)

- Apache License, Version 2.0

aws-types (https://github.com/awslabs/smithy-rs)

- Apache License, Version 2.0

url (https://github.com/servo/rust-url)

- Apache License, Version 2.0

bytes (https://github.com/tokio-rs/bytes)

- MIT License

tokio-test (https://github.com/tokio-rs/tokio)

- MIT License

chrono (https://github.com/chronotope/chrono)

- Apache License, Version 2.0

num-format (https://github.com/bcmyers/num-format)

- Apache License, Version 2.0

cxx (https://github.com/dtolnay/cxx)

- Apache 2 License

datasketches-cpp (https://github.com/apache/datasketches-cpp)

- Apache 2 License

git2 (https://github.com/rust-lang/git2-rs)

- Apache 2 License


The build pipeline uses the following GitHub Actions from the marketplace.
Expand Down
35 changes: 23 additions & 12 deletions docs/11-dev-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ You will need the following software:
* [Java 11/17](https://openjdk.java.net/install/)
* [Maven](https://maven.apache.org/): Tested with v3.8.6
* [NodeJS / NPM](https://github.com/nvm-sh/nvm#installing-and-updating): Tested with NodeJS v16.16.0 and npm v8.11.0
* [Rust](https://rustup.rs/): Tested with Rust v1.77
* [Cross-rs](https://github.com/cross-rs/cross)

## Building

Expand Down Expand Up @@ -122,6 +124,15 @@ mvn clean install -Pquick

Removing the '-Pquick' option will cause the unit and integration tests to run.

### Disabling Rust component

You can disable the building of the Rust modules with:

```bash
cd java
mvn clean install -Pquick -DskipRust=true
```

## Using the codebase

The codebase is structured around the components explained in the [design document](12-design.md). The elements of the
Expand All @@ -141,19 +152,19 @@ For VS Code there's [a separate setup guide](/.vscode/README.md).

For IntelliJ, these settings are available to import:

- Code style scheme at [code-style/intellij-style.xml](/code-style/intellij-style.xml)
- Inspection profile at [code-style/intellij-inspection-profile.xml](/code-style/intellij-inspection-profile.xml)
- Copyright profile for license header
* Code style scheme at [code-style/intellij-style.xml](/code-style/intellij-style.xml)
* Inspection profile at [code-style/intellij-inspection-profile.xml](/code-style/intellij-inspection-profile.xml)
* Copyright profile for license header
at [code-style/intellij-copyright-profile.xml](/code-style/intellij-copyright-profile.xml)
- Checkstyle plugin settings in [code-style/checkstyle-idea](/code-style/checkstyle-idea)
* Checkstyle plugin settings in [code-style/checkstyle-idea](/code-style/checkstyle-idea)

For Eclipse, these settings are available to import:

- Code style at [code-style/eclipse-style.xml](/code-style/eclipse-style.xml)
- Import order at [code-style/eclipse-import-order.importorder](/code-style/eclipse-import-order.importorder)
- License header at [code-style/licenseHeader.txt](/code-style/licenseHeader.txt)
- Code templates at [code-style/eclipse-codetemplates.xml](/code-style/eclipse-codetemplates.xml)
- Editor templates at [code-style/eclipse-templates.xml](/code-style/eclipse-templates.xml)
* Code style at [code-style/eclipse-style.xml](/code-style/eclipse-style.xml)
* Import order at [code-style/eclipse-import-order.importorder](/code-style/eclipse-import-order.importorder)
* License header at [code-style/licenseHeader.txt](/code-style/licenseHeader.txt)
* Code templates at [code-style/eclipse-codetemplates.xml](/code-style/eclipse-codetemplates.xml)
* Editor templates at [code-style/eclipse-templates.xml](/code-style/eclipse-templates.xml)

### Linting

Expand All @@ -173,7 +184,7 @@ We try to ensure that all classes have Javadoc. Most methods should also have Ja
getters and setters can be skipped unless there's something important to know.

See Oracle's standards for Javadoc:
https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html
<https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html>

Note that the first sentence in a Javadoc comment will be used as a summary fragment in generated documentation. This
should not contain any links or formatting, to read normally as an item in a list.
Expand Down Expand Up @@ -244,8 +255,8 @@ When deploying multiple instances (or running multiple system tests), many log g
it difficult to find the logs you need to view. This script will delete any log groups that meet all of the following
criteria:

- Its name does not contain the name of any deployed CloudFormation stack
- Either it's empty, or it has no retention period and is older than 30 days
* Its name does not contain the name of any deployed CloudFormation stack
* Either it's empty, or it has no retention period and is older than 30 days

This can be used to limit the number of log groups in your AWS account, particularly if all your log groups are
deployed by the CDK or CloudFormation, with the stack name in the log group name.
Expand Down
4 changes: 4 additions & 0 deletions example/full/instance.properties
Original file line number Diff line number Diff line change
Expand Up @@ -940,6 +940,10 @@ sleeper.default.table.compaction.strategy.sizeratio.ratio=3
# concurrently per partition. It can be overridden on a per-table basis.
sleeper.default.table.compaction.strategy.sizeratio.max.concurrent.jobs.per.partition=100000

# Select what compaction method to use on a table. Current options are JAVA and RUST. Rust compaction
# support is experimental.
sleeper.default.table.compaction.method=JAVA


## The following properties relate to queries.

Expand Down
4 changes: 4 additions & 0 deletions example/full/table.properties
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,10 @@ sleeper.table.compaction.strategy.sizeratio.ratio=3
# concurrently per partition.
sleeper.table.compaction.strategy.sizeratio.max.concurrent.jobs.per.partition=2147483647

# Select what compaction method to use on a table. Current options are JAVA and RUST. Rust compaction
# support is experimental.
sleeper.table.compaction.method=JAVA


## The following table properties relate to storing and retrieving metadata for tables.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public int hashCode() {

@Override
public String toString() {
return "OnPushPathsDiff{" +
return "OnPullRequestPathsDiff{" +
"expected=" + expected +
", actual=" + actual +
", missingEntries=" + missingEntries +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import java.util.stream.Stream;

public interface CompactionJobStatusStore {

CompactionJobStatusStore NONE = new CompactionJobStatusStore() {
};

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* Copyright 2022-2024 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sleeper.compaction.job;

import sleeper.core.record.process.RecordsProcessed;

@FunctionalInterface
public interface CompactionRunner extends CompactionRunnerDetails {
RecordsProcessed compact(CompactionJob job) throws Exception;
}
Loading
Loading