sleeper icon indicating copy to clipboard operation
sleeper copied to clipboard

Rust compaction

Open m09526 opened this issue 2 years ago • 1 comments

THIS IS AN EXPERIMENTAL PR. NOT READY FOR MERGE.

Issue

Resolves 1359

Tests

Rust compaction units tests not present yet.

m09526 avatar Sep 22 '23 11:09 m09526

It takes 20 minutes to to build this PR (compared to around 4 without the Rust build) and it takes 20 minutes every time. Is there any way to avoid recompiling the Rust code if nothing has changed?

We will need both unit tests in the Rust code, and the Java unit tests to test both the Java and Rust implementations.

The actual compaction code doesn't seem to be sending many logs to CloudWatch - it's harder to see that the job is processing than it is with the Java implementation - there are no logs of read 1000000 records, read 2000000 records, ...:

[main] compaction.jobexecution.RustBridge DEBUG  - Attempting to load native library from JAR path natives/release
[main] compaction.jobexecution.RustBridge DEBUG  - Attempting to load native library from JAR path natives/x86_64-unknown-linux-gnu/release
[main] compaction.jobexecution.RustBridge DEBUG  - Extracted file is at /tmp/nativelib-loader_14764728764528488113/libcompaction.so
2023-09-26T12:11:32 [INFO] - load_region; provider=EnvironmentVariableRegionProvider { env: Env(Real) }
[Thread-0] common.action.ChangeMessageVisibilityTimeoutAction INFO - Compaction job...

More comments to come.

gaffer01 avatar Sep 26 '23 14:09 gaffer01

I've split out a separate issue to improve test coverage for these changes, so that we can hopefully get this PR merged close to as it is now:

  • https://github.com/gchq/sleeper/issues/2850

patchwork01 avatar Jul 10 '24 11:07 patchwork01