YuJue Li created IGNITE-14204:
---------------------------------

             Summary: cpp thin client transaction :Transaction with id 1 not 
found.
                 Key: IGNITE-14204
                 URL: https://issues.apache.org/jira/browse/IGNITE-14204
             Project: Ignite
          Issue Type: Bug
          Components: thin client
    Affects Versions: 2.10
            Reporter: YuJue Li
             Fix For: 2.10


Using the 2.10 branch code and the transaction function of cpp thin client, the 
transaction with id 1 not found error will be throw. the reproduce steps are as 
follows:

1.start two nodes on two hosts use the following config file:
{color:#808080}<?{color}{color:#569cd6}xml{color}{color:#9cdcfe} 
version{color}{color:#d4d4d4}={color}{color:#ce9178}"1.0"{color}{color:#9cdcfe} 
encoding{color}{color:#d4d4d4}={color}{color:#ce9178}"UTF-8"{color}{color:#808080}?>{color}
{color:#808080}<{color}{color:#569cd6}beans{color} 
{color:#9cdcfe}xmlns{color}{color:#d4d4d4}={color}{color:#ce9178}["http://www.springframework.org/schema/beans";|http://www.springframework.org/schema/beans]{color}
{color:#9cdcfe}xmlns:xsi{color}{color:#d4d4d4}={color}{color:#ce9178}["http://www.w3.org/2001/XMLSchema-instance";|http://www.w3.org/2001/XMLSchema-instance]{color}
{color:#9cdcfe}xsi:schemaLocation{color}{color:#d4d4d4}={color}{color:#ce9178}"{color}
{color:#ce9178} [http://www.springframework.org/schema/beans]{color}
{color:#ce9178} 
[http://www.springframework.org/schema/beans/spring-beans.xsd]"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}bean{color} 
{color:#9cdcfe}id{color}{color:#d4d4d4}={color}{color:#ce9178}"grid.cfg"{color} 
{color:#9cdcfe}class{color}{color:#d4d4d4}={color}{color:#ce9178}"org.apache.ignite.configuration.IgniteConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"clientMode"{color}
 
{color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"false"{color} 
{color:#808080}/>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"peerClassLoadingEnabled"{color}
 
{color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"true"{color}{color:#808080}/>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"binaryConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}bean{color} 
{color:#9cdcfe}class{color}{color:#d4d4d4}={color}{color:#ce9178}"org.apache.ignite.configuration.BinaryConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"compactFooter"{color}
 
{color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"false"{color} 
{color:#808080}/>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"idMapper"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}bean{color} 
{color:#9cdcfe}class{color}{color:#d4d4d4}={color}{color:#ce9178}"org.apache.ignite.binary.BinaryBasicIdMapper"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"lowerCase"{color}
 {color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"true"{color} 
{color:#808080}/>{color}
{color:#808080}</{color}{color:#569cd6}bean{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}property{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}bean{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}property{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"dataStorageConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}bean{color} 
{color:#9cdcfe}class{color}{color:#d4d4d4}={color}{color:#ce9178}"org.apache.ignite.configuration.DataStorageConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"defaultDataRegionConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}bean{color} 
{color:#9cdcfe}class{color}{color:#d4d4d4}={color}{color:#ce9178}"org.apache.ignite.configuration.DataRegionConfiguration"{color}{color:#808080}>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"name"{color} 
{color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"default"{color}
 {color:#808080}/>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"maxSize"{color}
 {color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"#\{1L * 1024 
* 1024 * 1024}"{color} {color:#808080}/>{color}
{color:#808080}<{color}{color:#569cd6}property{color} 
{color:#9cdcfe}name{color}{color:#d4d4d4}={color}{color:#ce9178}"persistenceEnabled"{color}
 
{color:#9cdcfe}value{color}{color:#d4d4d4}={color}{color:#ce9178}"false"{color} 
{color:#808080}/>{color}
{color:#808080}</{color}{color:#569cd6}bean{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}property{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}bean{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}property{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}bean{color}{color:#808080}>{color}
{color:#808080}</{color}{color:#569cd6}beans{color}{color:#808080}>{color}
2.test code are as follows:

Usually only the first few loop operations may throw an exception, and the 
subsequent operations are normal.
{color:#c586c0}#include{color} {color:#ce9178}<stdint.h>{color}
{color:#c586c0}#include{color} {color:#ce9178}<iostream>{color}
{color:#c586c0}#include{color} 
{color:#ce9178}<ignite/thin/ignite_client.h>{color}
{color:#c586c0}#include{color} 
{color:#ce9178}<ignite/thin/cache/cache_client.h>{color}
{color:#c586c0}#include{color} 
{color:#ce9178}"ignite/examples/organization.h"{color}
{color:#c586c0}using{color} {color:#569cd6}namespace{color} 
{color:#4ec9b0}ignite{color}{color:#d4d4d4};{color}
{color:#c586c0}using{color} {color:#569cd6}namespace{color} 
{color:#4ec9b0}thin{color}{color:#d4d4d4};{color}
{color:#c586c0}using{color} {color:#569cd6}namespace{color} 
{color:#4ec9b0}cache{color}{color:#d4d4d4};{color}
{color:#c586c0}using{color} {color:#569cd6}namespace{color} 
{color:#4ec9b0}examples{color}{color:#d4d4d4};{color}
{color:#569cd6}int{color} {color:#dcdcaa}main{color}{color:#d4d4d4}(){color}
{color:#d4d4d4}{{color}
{color:#d4d4d4} IgniteClientConfiguration cfg;{color}
 
{color:#9cdcfe}cfg{color}{color:#d4d4d4}.{color}{color:#dcdcaa}SetEndPoints{color}{color:#d4d4d4}({color}{color:#ce9178}"X.X.X.X"{color}{color:#d4d4d4});{color}
{color:#c586c0}try{color}
{color:#d4d4d4} { {color}
{color:#d4d4d4} IgniteClient client = 
{color}{color:#4ec9b0}IgniteClient{color}{color:#d4d4d4}::{color}{color:#dcdcaa}Start{color}{color:#d4d4d4}(cfg);
 {color}
{color:#d4d4d4} 
CacheClient<{color}{color:#569cd6}int32_t{color}{color:#d4d4d4}, Organization> 
cache = 
{color}{color:#9cdcfe}client{color}{color:#d4d4d4}.{color}{color:#9cdcfe}GetOrCreateCache{color}{color:#d4d4d4}<{color}{color:#569cd6}int32_t{color}{color:#d4d4d4},
 
Organization>({color}{color:#ce9178}"PutGetExample"{color}{color:#d4d4d4});{color}
{color:#9cdcfe}cache{color}{color:#d4d4d4}.{color}{color:#dcdcaa}Clear{color}{color:#d4d4d4}();{color}
{color:#569cd6}int{color}{color:#d4d4d4} loop = 
{color}{color:#b5cea8}100{color}{color:#d4d4d4};{color}
{color:#c586c0}for{color}{color:#d4d4d4} 
({color}{color:#569cd6}int{color}{color:#d4d4d4} i = 
{color}{color:#b5cea8}0{color}{color:#d4d4d4}; i < loop; i++){color}
{color:#d4d4d4} {{color}
{color:#4ec9b0}ignite{color}{color:#d4d4d4}::{color}{color:#4ec9b0}thin{color}{color:#d4d4d4}::{color}{color:#4ec9b0}transactions{color}{color:#d4d4d4}::ClientTransaction
 transaction = 
{color}{color:#9cdcfe}client{color}{color:#d4d4d4}.{color}{color:#dcdcaa}ClientTransactions{color}{color:#d4d4d4}().{color}{color:#dcdcaa}TxStart{color}{color:#d4d4d4}();{color}
{color:#d4d4d4} Organization 
{color}{color:#dcdcaa}org{color}{color:#d4d4d4}({color}{color:#ce9178}"Microsoft"{color}{color:#d4d4d4},
 
{color}{color:#dcdcaa}Address{color}{color:#d4d4d4}({color}{color:#ce9178}"1096 
Eddy Street, San Francisco, CA"{color}{color:#d4d4d4}, i));{color}
{color:#9cdcfe}cache{color}{color:#d4d4d4}.{color}{color:#dcdcaa}Put{color}{color:#d4d4d4}({color}{color:#b5cea8}1{color}{color:#d4d4d4},
 org); {color}
{color:#9cdcfe}transaction{color}{color:#d4d4d4}.{color}{color:#dcdcaa}Commit{color}{color:#d4d4d4}();{color}
{color:#d4d4d4} }{color}
{color:#d4d4d4} Organization orgFromCache = 
{color}{color:#9cdcfe}cache{color}{color:#d4d4d4}.{color}{color:#dcdcaa}Get{color}{color:#d4d4d4}({color}{color:#b5cea8}1{color}{color:#d4d4d4});{color}
{color:#d4d4d4} }{color}
{color:#c586c0}catch{color}{color:#d4d4d4} (IgniteError& err){color}
{color:#d4d4d4} {{color}
{color:#4ec9b0}std{color}{color:#d4d4d4}::cout << {color}{color:#ce9178}"An 
error occurred: "{color}{color:#d4d4d4} << 
{color}{color:#9cdcfe}err{color}{color:#d4d4d4}.{color}{color:#dcdcaa}GetText{color}{color:#d4d4d4}()
 << {color}{color:#4ec9b0}std{color}{color:#d4d4d4}::endl;{color}
{color:#c586c0}return{color} 
{color:#9cdcfe}err{color}{color:#d4d4d4}.{color}{color:#dcdcaa}GetCode{color}{color:#d4d4d4}();{color}
{color:#d4d4d4} }{color}
{color:#c586c0}return{color} {color:#b5cea8}0{color}{color:#d4d4d4};{color}
3.server side's log are as follows:
{color:#d4d4d4}[{color}{color:#6a9955}11:25:35,496{color}{color:#d4d4d4}][SEVERE][client-connector-#{color}{color:#569cd6}117{color}{color:#d4d4d4}][ClientListenerNioListener]
 Failed to process client request 
[req={color}{color:#569cd6}o.a.i.i.processors.platform.client.tx.ClientTxEndRequest{color}{color:#d4d4d4}@569bc2e0]{color}
{color:#d4d4d4}class 
{color}{color:#ce9178}org.apache.ignite.internal.processors.platform.client.IgniteClientException{color}{color:#d4d4d4}:
 Transaction with id {color}{color:#569cd6}1{color}{color:#d4d4d4} not 
found.{color}
{color:#ce9178} at 
org.apache.ignite.internal.processors.platform.client.tx.ClientTxEndRequest.process(ClientTxEndRequest.java:59){color}
{color:#ce9178} at 
org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:98){color}
{color:#ce9178} at 
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:195){color}
{color:#ce9178} at 
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:49){color}
{color:#ce9178} at 
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279){color}
{color:#ce9178} at 
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109){color}
{color:#ce9178} at 
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97){color}
{color:#ce9178} at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120){color}
{color:#ce9178} at 
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70){color}
{color:#ce9178} at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149){color}
{color:#ce9178} at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624){color}
{color:#ce9178} at java.lang.Thread.run(Thread.java:748){color}
If start two nodes on two hosts and create a cluster, you can reproduce this 
problem. If start multiple server nodes on one host, it seems that there is no 
problem.
Thin clients only need one.

See the following discussion for details:

http://apache-ignite-users.70518.x6.nabble.com/2-10-branch-cpp-thin-client-transaction-Transaction-with-id-1-not-found-tt35358.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to