[ 
https://issues.apache.org/jira/browse/IGNITE-16763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17769191#comment-17769191
 ] 

Andrey Mashenkov edited comment on IGNITE-16763 at 9/26/23 1:58 PM:
--------------------------------------------------------------------

[~Denis Chudov] is it still actual?
I just found this ticket is mentioned in a code, but we don't use Configuration 
events anymore.
Also, I see ticket description and `rebalance.md` documentation both refer to 
`TableManager.onUpdateAssignments` method, which is no longer exists. 
Seems, the documentation and ticket description should be actualized. 


was (Author: amashenkov):
[~Denis Chudov] is it still actual?

> TableManager doesn't throw exception on table create, if something goes wrong 
> in configuration listener for updateAssignments
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-16763
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16763
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> Scenario:
> Start a node, try to create a table. Inside of TableManager the listener 
> onTableCreate is successfully executed. Then, an exception happens inside of 
> TableManager#onUpdateAssignments
> configuration listener, which is triggered after the completion of 
> onTableCreate listener. To reproduce the issue need to add an exception 
> throwing in TableManager#onUpdateAssignments and create a table.
> Expected behavior:
> There is no operational instance of the newly created table on the node that 
> initiated creation of the table, because onUpdateAssignments had failed. 
> "Create table" operation should fail with exception.
> Actual:
> "Create table" operation succeeds, as onTableCreate listener in TableManager 
> had  succeeded.
> Suggested fix:
> onUpdateAssignments should save exception to versioned values in 
> TableManager, as it updates these versioned values. Thus, the following 
> VersionedValue#get will throw an exception, and table creation future will be 
> completed exceptionally (see TableManager#completeApiCreateFuture ). However, 
> we should think about how further updates of these versioned values will 
> happen.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to