ajothomas opened a new pull request, #1712:
URL: https://github.com/apache/samza/pull/1712

   **Bug**: 
   `BlobStoreUtil`'s `getSnapshotIndex` method currently gets the 
`SnapshotIndex` blob using `BlobStoreManager#get` and deserializes it using 
`SnapshotIndexSerde`
   We chain the deserialization logic to the get future and chain `handle` 
which tries to capture deserialization exceptions. This is incorrect as any 
exceptions that occurred during snapshot index get would also be processed by 
the chained `handle`.
   This presents two issues:
   - The current exception message says that the error is due to 
deserialization which is incorrect
   - It also wraps any exception into `SamzaException` class.  `get` 
implementation of `BlobStoreManager` classifies some exceptions into retriable 
exceptions which will become useless if we wrap it into `SamzaException`.
   
   **Changes**:
   - Catch deserialization exception and throw appropriate message within 
`thenApplyAsync` where we deserialize the `SnapshotIndex` bytes.
   
   **Tests**:
   - ./gradlew build
   - Added unit tests to assert if appropriate exception is thrown
   
   **API Changes**:
   None
   
   **Upgrade Instructions**: 
   None
   
   **Usage Instructions**: 
   None


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to