The GitHub Actions job "Fory CI" on fory.git/main has failed. Run started by GitHub user chaokunyang (triggered by chaokunyang).
Head commit for run: 9d02c8873754da243ee4f98890877e97e1149f70 / Pigsy-Monk <[email protected]> feat(java): int array serializer support varint encoding (#3124) ## Why? This PR adds variable-length encoding support for `int[]` arrays, which provides space savings when arrays contain many small values. This is particularly beneficial for use cases like sparse arrays, indices, counters, and other scenarios where array values are predominantly small integers. ## What does this PR do? ### Changes: 1. **Enhanced `IntArraySerializer` with variable-length encoding**: - Added `writeInt32s()` method that uses `writeVarUint32()` for each element - Added `readInt32s()` method that uses `readVarInt32()` for each element - Enabled via `compressIntArray()` configuration flag 3. **Added comprehensive test cases**: - `testVariableLengthIntArray()`: Tests serialization/deserialization correctness for int arrays - `testVariableLengthIntArrayEncodingEfficiencyForSmallValues()`: Demonstrates space efficiency for int arrays ### Technical Details: - **IntArraySerializer**: Uses `writeVarUint32()` / `readVarInt32()` for variable-length encoding - Compression is only enabled when: - `compressIntArray()` is `true` ### Space Efficiency: - **Int arrays with small values (0-127)**: - Fixed-length: 4 bytes/element - Variable-length: 1-2 bytes/element Report URL: https://github.com/apache/fory/actions/runs/20907460289 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
