PutManagerTest - testOneNodeFailurePutSuccess - crc mismatch error
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 298
- Avg merge
- 21h 43m
- Merged PRs (30d)
- 9
Description
I encountered the following error recently:
```
com.github.ambry.router.PutManagerTest > testOneNodeFailurePutSuccess[2] FAILED
java.io.IOException: CRC mismatch, data in PutRequest is unreliable
at com.github.ambry.protocol.PutRequest$PutRequest_V4.readFrom(PutRequest.java:244)
at com.github.ambry.protocol.PutRequest.readFrom(PutRequest.java:98)
at com.github.ambry.router.PutManagerTest.deserializePutRequest(PutManagerTest.java:1192)
at com.github.ambry.router.PutManagerTest.verifyCompositeBlob(PutManagerTest.java:1148)
at com.github.ambry.router.PutManagerTest.verifyBlob(PutManagerTest.java:1098)
at com.github.ambry.router.PutManagerTest.assertSuccess(PutManagerTest.java:1030)
at com.github.ambry.router.PutManagerTest.submitPutsAndAssertSuccess(PutManagerTest.java:933)
at com.github.ambry.router.PutManagerTest.testOneNodeFailurePutSuccess(PutManagerTest.java:582)
```
```
com.github.ambry.router.PutManagerTest > testCompositeBlobChunkSizeMultiplePutSuccess[3] FAILED
java.io.IOException: CRC mismatch, data in PutRequest is unreliable
at com.github.ambry.protocol.PutRequest$PutRequest_V4.readFrom(PutRequest.java:244)
at com.github.ambry.protocol.PutRequest.readFrom(PutRequest.java:98)
at com.github.ambry.router.PutManagerTest.deserializePutRequest(PutManagerTest.java:1192)
at com.github.ambry.router.PutManagerTest.verifyCompositeBlob(PutManagerTest.java:1148)
at com.github.ambry.router.PutManagerTest.verifyBlob(PutManagerTest.java:1098)
at com.github.ambry.router.PutManagerTest.assertSuccess(PutManagerTest.java:1030)
at com.github.ambry.router.PutManagerTest.submitPutsAndAssertSuccess(PutManagerTest.java:933)
at com.github.ambry.router.PutManagerTest.testCompositeBlobChunkSizeMultiplePutSuccess(PutManagerTest.java:194)
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the failing PutManagerTest methods, especially testOneNodeFailurePutSuccess and testCompositeBlobChunkSizeMultiplePutSuccess, then trace deserializePutRequest and verifyBlob at the listed lines. Inspect PutRequest.java, including PutRequest_V4.readFrom at line 244, and reproduce the reported CRC mismatch; done means the affected tests pass without unreliable PutRequest data errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100