[ https://issues.apache.org/jira/browse/IGNITE-19765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Uttsel updated IGNITE-19765: ----------------------------------- Description: h3. *Motivation* After prototyping for https://issues.apache.org/jira/browse/IGNITE-19466 I see that if a table is created without data nodes in zone and I try to invoke some operation, for example {code:java} table.recordView().insert(null, Tuple.create().set("key", 1L).set("val", 2));{code} it throw a NPE {code:java} java.lang.NullPointerException at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlist(InternalTableImpl.java:1233) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistWithRetry(InternalTableImpl.java:427) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistInTx(InternalTableImpl.java:259) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.insert(InternalTableImpl.java:658) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insertAsync(RecordBinaryViewImpl.java:147) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:137) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:42) at org.apache.ignite.internal.runner.app.ItIgniteNodeRestartTest.test123(ItIgniteNodeRestartTest.java:1152){code} Need to throw meaningful exception in this case with message that a table is not ready of operation. h3. *Definition of Done* If a table was created without data nodes need to throw meaningful exception on table operation. was: h3. *Motivation* After prototyping for https://issues.apache.org/jira/browse/IGNITE-19466 I see that if a table is created without data nodes in zone and I try invoke some operation, for example {code:java} table.recordView().insert(null, Tuple.create().set("key", 1L).set("val", 2));{code} it throw a NPE {code:java} java.lang.NullPointerException at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlist(InternalTableImpl.java:1233) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistWithRetry(InternalTableImpl.java:427) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistInTx(InternalTableImpl.java:259) at org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.insert(InternalTableImpl.java:658) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insertAsync(RecordBinaryViewImpl.java:147) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:137) at org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:42) at org.apache.ignite.internal.runner.app.ItIgniteNodeRestartTest.test123(ItIgniteNodeRestartTest.java:1152){code} Need to throw meaningful exception in this case with message that a table is not ready of operation. h3. *Definition of Done* If a table was created without data nodes need to throw meaningful exception on table operation. > Throw appropriate exception on operation with not full started table > -------------------------------------------------------------------- > > Key: IGNITE-19765 > URL: https://issues.apache.org/jira/browse/IGNITE-19765 > Project: Ignite > Issue Type: Bug > Reporter: Sergey Uttsel > Priority: Major > Labels: ignite-3, tech-debt > > h3. *Motivation* > After prototyping for https://issues.apache.org/jira/browse/IGNITE-19466 I > see that if a table is created without data nodes in zone and I try to invoke > some operation, for example > {code:java} > table.recordView().insert(null, Tuple.create().set("key", 1L).set("val", > 2));{code} > it throw a NPE > {code:java} > java.lang.NullPointerException at > org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlist(InternalTableImpl.java:1233) > at > org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistWithRetry(InternalTableImpl.java:427) > at > org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.enlistInTx(InternalTableImpl.java:259) > at > org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.insert(InternalTableImpl.java:658) > at > org.apache.ignite.internal.table.RecordBinaryViewImpl.insertAsync(RecordBinaryViewImpl.java:147) > at > org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:137) > at > org.apache.ignite.internal.table.RecordBinaryViewImpl.insert(RecordBinaryViewImpl.java:42) > at > org.apache.ignite.internal.runner.app.ItIgniteNodeRestartTest.test123(ItIgniteNodeRestartTest.java:1152){code} > Need to throw meaningful exception in this case with message that a table is > not ready of operation. > > h3. *Definition of Done* > If a table was created without data nodes need to throw meaningful exception > on table operation. -- This message was sent by Atlassian Jira (v8.20.10#820010)