-
Notifications
You must be signed in to change notification settings - Fork 47
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
CollectionBulkInsertOperation cancel 시 cancel 원인을 API 사용자가 알 수 없는 이슈 #528
Comments
@uhm0311 |
receivedStatus() 메소드에서 key를 알 수 없어서 OperationStatus를 정할 수 없는 경우는 CollectionBulkInsertOperation이 유일합니다. |
Cacnel은 All or Nothing입니다. |
@uhm0311
생각하는 시간을 가지도록 하시죠. |
현재 Multi op를 다루는 Future들은 모두 Operation 중 하나라도 Cancel 처리되었다면 Exception을 발생하는 것으로 되어 있습니다.
일부의 결과라도 반환하도록 변경하면 하위 호환성이 깨질 수 있기 때문에 일부 결과를 반환하고 싶다면 getSome()과 같은 새로운 인터페이스를 제공하는 것이 나을 것 같습니다. |
CollectionBulkInsertOperation.Callback.receivedStatus() 메소드는 비어 있다. 이는 Multi Key Operation이며, receivedStatus() 메소드 단에서는 어느 Key가 실패했는지 알 수 없기 때문이다. 해당 정보는 gotStatus() 메소드를 통해 전달해주어야 한다.
CollectionBulkInsertOperation.cancel() 호출 시 wasCancelled() 메소드를 통해 callback.receivedStatus() 메소드를 호출한다. cancel 동작 또한 연산 실패이므로 CollectionBulkInsertOperation의 failedResult에 포함되어야 하는데, receivedStatus() Callback으로는 Key 정보가 주어지지 않아 failedResult에 포함할 수 없다.
CollectionInsertOperationImpl.wasCancelled() 구현에 한해 callback.gotStatus() 메소드를 호출하도록 하여 failedResult에 cancel 원인이 담기도록 한다.
The text was updated successfully, but these errors were encountered: