[ 
https://issues.apache.org/jira/browse/IGNITE-19203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexandr Shapkin updated IGNITE-19203:
--------------------------------------
    Description: 
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:
{code:java}
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary]]]], node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
    at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
    at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
    at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
    at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
    at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
    at java.lang.Thread.run(Thread.java:748){code}
 

test code:
{code:java}
public class StartServer { 
   public static void main(String[] args) 
   { Ignite ignite = Ignition.start(); } }{code}
 

 
{code:java}
public class StartClient01 {
    public static void main(String[] args) {
        Ignition.setClientMode(true);
        Ignite ignite = Ignition.start();

        IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");

        cache.query(new SqlFieldsQuery("CREATE TABLE PRODUCT (" +
                "  ID INT(11)," +
                "  NAME CHAR(35)," +
                "  PRODUCTCODE CHAR(10)," +
                "  DISTRICT CHAR(100)," +
                "  NUMBER INT(11)," +
                "  PRIMARY KEY (ID)" +
                ") WITH \"TEMPLATE=REPLICATED, CACHE_NAME=PRODUCT\";"));

        for (int i = 1; i <= 1000000; ++i) {
            cache.query(new SqlFieldsQuery("INSERT INTO PRODUCT (ID, NAME, 
PRODUCTCODE, DISTRICT, NUMBER) VALUES (?, ?, ?, ?, ?);")
                        .setArgs(i, "product" + i, "p" + i, "a product", 
1000000)).getAll();

            System.out.println(i);
        }
    }
} {code}
 
{code:java}
public class StartClient02 {
    public static void main(String[] args) {
        Ignition.setClientMode(true);
        Ignite ignite = Ignition.start();
        IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");
        cache.query(new SqlFieldsQuery("DROP TABLE  IF EXISTS 
PRODUCT;")).getAll();
        System.out.println("success..");
        ignite.close();
    }
} {code}
 

 

 

  was:
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:
{code:java}
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary]]]], node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
    at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
    at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
    at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
    at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
    at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
    at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
    at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
    at java.lang.Thread.run(Thread.java:748){code}
 

test code:
{code:java}
public class StartServer { 
   public static void main(String[] args) 
   { Ignite ignite = Ignition.start(); } }{code}
 

 
{code:java}
public class StartClient01 {
    public static void main(String[] args) {
        Ignition.setClientMode(true);
        Ignite ignite = Ignition.start();

        IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");

        cache.query(new SqlFieldsQuery("CREATE TABLE PRODUCT (" +
                "  ID INT(11)," +
                "  NAME CHAR(35)," +
                "  PRODUCTCODE CHAR(10)," +
                "  DISTRICT CHAR(100)," +
                "  NUMBER INT(11)," +
                "  PRIMARY KEY (ID)" +
                ") WITH \"TEMPLATE=REPLICATED, CACHE_NAME=PRODUCT\";"));

        for (int i = 1; i <= 1000000; ++i) {
            cache.query(new SqlFieldsQuery("INSERT INTO PRODUCT (ID, NAME, 
PRODUCTCODE, DISTRICT, NUMBER) VALUES (?, ?, ?, ?, ?);")
                        .setArgs(i, "product" + i, "p" + i, "a product", 
1000000)).getAll();

            System.out.println(i);
        }
    }
} {code}
{{}}
{code:java}
public class StartClient02 {
    public static void main(String[] args) {
        Ignition.setClientMode(true);
        Ignite ignite = Ignition.start();
        IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");
        cache.query(new SqlFieldsQuery("DROP TABLE  IF EXISTS 
PRODUCT;")).getAll();
        System.out.println("success..");
        ignite.close();
    }
} {code}
 

{{}}

 

 


> NPE on inserting data concurrently with table deletion
> ------------------------------------------------------
>
>                 Key: IGNITE-19203
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19203
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>            Reporter: Alexandr Shapkin
>            Priority: Major
>
> Occasionally, the following errors can be reproduced: The program that 
> executes the Insert statement does not report an error, The server node 
> reported the following error:
> {code:java}
> 四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
> 严重: Received message without registered handler (will ignore) [futId=2, 
> writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
> [filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
> parent=GridNearAtomicSingleUpdateRequest [key=null, 
> parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
> topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
> parent=GridNearAtomicAbstractUpdateRequest [res=null, 
> flags=needRes|keepBinary]]]], node=01ece6ae-c041-4325-ae6a-810233d0a684, 
> locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
> msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
> Registered listeners:
> 95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
> GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
> handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
> GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
> GridDhtAtomicNearResponse handler [msgIdx=5], 
> GridNearAtomicCheckUpdateRequest handler [msgIdx=6]]
> 四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
> 严重: Failed to process failed message: java.lang.NullPointerException
> java.lang.NullPointerException
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
>     at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
>     at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
>     at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
>     at java.lang.Thread.run(Thread.java:748){code}
>  
> test code:
> {code:java}
> public class StartServer { 
>    public static void main(String[] args) 
>    { Ignite ignite = Ignition.start(); } }{code}
>  
>  
> {code:java}
> public class StartClient01 {
>     public static void main(String[] args) {
>         Ignition.setClientMode(true);
>         Ignite ignite = Ignition.start();
>         IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");
>         cache.query(new SqlFieldsQuery("CREATE TABLE PRODUCT (" +
>                 "  ID INT(11)," +
>                 "  NAME CHAR(35)," +
>                 "  PRODUCTCODE CHAR(10)," +
>                 "  DISTRICT CHAR(100)," +
>                 "  NUMBER INT(11)," +
>                 "  PRIMARY KEY (ID)" +
>                 ") WITH \"TEMPLATE=REPLICATED, CACHE_NAME=PRODUCT\";"));
>         for (int i = 1; i <= 1000000; ++i) {
>             cache.query(new SqlFieldsQuery("INSERT INTO PRODUCT (ID, NAME, 
> PRODUCTCODE, DISTRICT, NUMBER) VALUES (?, ?, ?, ?, ?);")
>                         .setArgs(i, "product" + i, "p" + i, "a product", 
> 1000000)).getAll();
>             System.out.println(i);
>         }
>     }
> } {code}
>  
> {code:java}
> public class StartClient02 {
>     public static void main(String[] args) {
>         Ignition.setClientMode(true);
>         Ignite ignite = Ignition.start();
>         IgniteCache<Object, Object> cache = ignite.getOrCreateCache("dummy");
>         cache.query(new SqlFieldsQuery("DROP TABLE  IF EXISTS 
> PRODUCT;")).getAll();
>         System.out.println("success..");
>         ignite.close();
>     }
> } {code}
>  
>  
>  



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

Reply via email to