Skip to content
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

support updateIfPresent/updateIfAbsent operation #1897

Merged
merged 7 commits into from
Jul 6, 2022

Conversation

javeme
Copy link
Contributor

@javeme javeme commented Jun 6, 2022

No description provided.

javeme added 5 commits June 6, 2022 10:53
Change-Id: I63f179e0b6c2e2f86e6ae185ce3a7115a4da7657
Change-Id: Iab9ab42ba0504664ce3320c8905b2d92d01d849a
Change-Id: I397fd5d300c563cd9298b76ab336bff78f2564ea
Change-Id: I02989962791fa369600f8dedbfd56e2b40c79077
Change-Id: I760db3c964f913d3c552c1d85193d9f3e0d401a4
@codecov
Copy link

codecov bot commented Jun 6, 2022

Codecov Report

Merging #1897 (cdac3ef) into master (2af01bc) will increase coverage by 0.03%.
The diff coverage is 90.19%.

@@             Coverage Diff              @@
##             master    #1897      +/-   ##
============================================
+ Coverage     71.11%   71.15%   +0.03%     
- Complexity      963      977      +14     
============================================
  Files           452      452              
  Lines         38405    38561     +156     
  Branches       5418     5438      +20     
============================================
+ Hits          27312    27438     +126     
- Misses         8436     8451      +15     
- Partials       2657     2672      +15     
Impacted Files Coverage Δ
...e/src/main/java/com/baidu/hugegraph/HugeGraph.java 65.30% <ø> (ø)
...in/java/com/baidu/hugegraph/StandardHugeGraph.java 66.95% <62.50%> (-0.01%) ⬇️
...om/baidu/hugegraph/backend/store/BackendTable.java 85.11% <68.75%> (-1.64%) ⬇️
...egraph/backend/store/cassandra/CassandraStore.java 73.96% <73.33%> (-1.18%) ⬇️
...a/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java 57.51% <75.00%> (+0.30%) ⬆️
...aidu/hugegraph/backend/store/mysql/MysqlTable.java 83.53% <93.18%> (+1.71%) ⬆️
.../baidu/hugegraph/backend/tx/SchemaTransaction.java 89.61% <97.61%> (+0.60%) ⬆️
...egraph/backend/store/cassandra/CassandraTable.java 80.13% <100.00%> (+0.27%) ⬆️
...gegraph/backend/cache/CachedSchemaTransaction.java 90.52% <100.00%> (+0.18%) ⬆️
...ugegraph/backend/store/memory/InMemoryDBStore.java 88.23% <100.00%> (+0.31%) ⬆️
... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2af01bc...cdac3ef. Read the comment docs.

javeme added 2 commits June 6, 2022 11:59
Change-Id: I2daad8825939b04ff9b1374fff930ac9c4173f72
Change-Id: I6383df825a003ff0e3f619398ee7c2873194eb56
@javeme
Copy link
Contributor Author

javeme commented Jun 6, 2022

rocksdb ci:

2022-06-06 05:54:39 [JRaft-FSMCaller-Disruptor-0] [WARN] c.a.s.j.c.NodeImpl - Node <hugegraph/127.0.0.1:8093> got error: Error [type=ERROR_TYPE_STATE_MACHINE, status=Status[ESTATEMACHINE<10002>: StateMachine meet critical error when applying one or more tasks since index=3, Status[ESTATEMACHINE<10002>: StateMachine occurred critical error: com.baidu.hugegraph.backend.BackendException: Failed to execute backend command]]].
2022-06-06 05:54:39 [JRaft-FSMCaller-Disruptor-0] [WARN] c.a.s.j.c.FSMCallerImpl - FSMCaller already in error status, ignore new error.
com.alipay.sofa.jraft.error.RaftException: null
	at com.alipay.sofa.jraft.core.IteratorImpl.getOrCreateError(IteratorImpl.java:157) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.IteratorImpl.setErrorAndRollback(IteratorImpl.java:148) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.IteratorWrapper.setErrorAndRollback(IteratorWrapper.java:73) ~[jraft-core-1.3.9.jar:?]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.onApply(StoreStateMachine.java:99) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:541) [jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:510) [jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:442) [jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.access$100(FSMCallerImpl.java:73) [jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:148) [jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:142) [jraft-core-1.3.9.jar:?]
	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137) [disruptor-3.3.7.jar:?]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Error: -06 05:54:39 [store-backend-executor1] [ERROR] c.a.s.j.u.LogThreadPoolExecutor - Uncaught exception in pool: store-backend-executor, com.alipay.sofa.jraft.util.LogThreadPoolExecutor@2736577f[Running, pool size = 2, active threads = 1, queued tasks = 0, completed tasks = 1].
com.baidu.hugegraph.backend.BackendException: Failed to execute backend command
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.lambda$onApplyFollower$1(StoreStateMachine.java:142) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_332]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Caused by: java.lang.RuntimeException: Too many listeners for: cache
	at com.baidu.hugegraph.event.EventHub.call(EventHub.java:175) ~[hugegraph-common-2.1.2.jar:2.1.2.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.notifyCache(RaftContext.java:332) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.updateCacheIfNeeded(RaftContext.java:310) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.applyCommand(StoreStateMachine.java:175) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.lambda$onApplyFollower$1(StoreStateMachine.java:138) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	... 4 more
Error: -06 05:54:39 [store-backend-executor1] [ERROR] c.b.h.b.s.r.StoreStateMachine - Failed to execute backend command: COMMIT_TX
java.lang.RuntimeException: Too many listeners for: cache
	at com.baidu.hugegraph.event.EventHub.call(EventHub.java:175) ~[hugegraph-common-2.1.2.jar:2.1.2.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.notifyCache(RaftContext.java:332) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.updateCacheIfNeeded(RaftContext.java:310) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.applyCommand(StoreStateMachine.java:175) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.lambda$onApplyFollower$1(StoreStateMachine.java:138) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_332]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Error: -06 05:54:39 [JRaft-FSMCaller-Disruptor-0] [ERROR] c.b.h.b.s.r.StoreStateMachine - StateMachine occurred critical error
java.util.concurrent.ExecutionException: com.baidu.hugegraph.backend.BackendException: Failed to execute backend command
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_332]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_332]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.onApply(StoreStateMachine.java:90) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:541) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:510) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:442) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.access$100(FSMCallerImpl.java:73) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:148) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:142) ~[jraft-core-1.3.9.jar:?]
	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137) [disruptor-3.3.7.jar:?]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Caused by: com.baidu.hugegraph.backend.BackendException: Failed to execute backend command
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.lambda$onApplyFollower$1(StoreStateMachine.java:142) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_332]
	... 1 more
Caused by: java.lang.RuntimeException: Too many listeners for: cache
	at com.baidu.hugegraph.event.EventHub.call(EventHub.java:175) ~[hugegraph-common-2.1.2.jar:2.1.2.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.notifyCache(RaftContext.java:332) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.RaftContext.updateCacheIfNeeded(RaftContext.java:310) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.applyCommand(StoreStateMachine.java:175) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.lambda$onApplyFollower$1(StoreStateMachine.java:138) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_332]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_332]
	... 1 more
Error: -06 05:54:39 [JRaft-FSMCaller-Disruptor-0] [ERROR] c.b.h.b.s.r.StoreStateMachine - Raft error: null
com.alipay.sofa.jraft.error.RaftException: null
	at com.alipay.sofa.jraft.core.IteratorImpl.getOrCreateError(IteratorImpl.java:157) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.IteratorImpl.setErrorAndRollback(IteratorImpl.java:148) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.IteratorWrapper.setErrorAndRollback(IteratorWrapper.java:73) ~[jraft-core-1.3.9.jar:?]
	at com.baidu.hugegraph.backend.store.raft.StoreStateMachine.onApply(StoreStateMachine.java:99) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:541) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:510) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:442) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl.access$100(FSMCallerImpl.java:73) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:148) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:142) ~[jraft-core-1.3.9.jar:?]
	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137) [disruptor-3.3.7.jar:?]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
2022-06-06 05:54:39 [JRaft-FSMCaller-Disruptor-0] [INFO] c.b.h.b.s.r.StoreStateMachine - The node 127.0.0.1:8093 abdicated from follower
2022-06-06 05:54:39 [server-info-db-worker-1] [WARN] c.b.h.b.s.r.RaftBackendStore - Failed to execute query '`Query * from VERTEX where id in [0x8673657276657233]`': Status[EPERM<1008>: Invalid state for readIndex: STATE_ERROR.]
com.baidu.hugegraph.backend.BackendException: Failed to do raft read-index: Status[EPERM<1008>: Invalid state for readIndex: STATE_ERROR.]
	at com.baidu.hugegraph.backend.store.raft.RaftBackendStore$1.run(RaftBackendStore.java:235) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.notifyFail(ReadOnlyServiceImpl.java:212) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.run(ReadOnlyServiceImpl.java:168) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.NodeImpl.handleReadIndexRequest(NodeImpl.java:1509) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl.executeReadIndexEvents(ReadOnlyServiceImpl.java:234) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl.access$200(ReadOnlyServiceImpl.java:70) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:133) ~[jraft-core-1.3.9.jar:?]
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:116) ~[jraft-core-1.3.9.jar:?]
	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137) [disruptor-3.3.7.jar:?]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Error: -06 05:54:39 [main] [ERROR] c.b.h.d.HugeGraphServer - HugeRestServer start error: 
com.baidu.hugegraph.HugeException: Failed to update/query server info: java.util.concurrent.ExecutionException: com.baidu.hugegraph.backend.BackendException: Failed to execute query: `Query * from VERTEX where id in [0x8673657276657233]`
	at com.baidu.hugegraph.task.ServerInfoManager.call(ServerInfoManager.java:298) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.task.ServerInfoManager.serverInfo(ServerInfoManager.java:311) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.task.ServerInfoManager.initServerInfo(ServerInfoManager.java:114) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.StandardHugeGraph.serverStarted(StandardHugeGraph.java:267) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.auth.HugeGraphAuthProxy.serverStarted(HugeGraphAuthProxy.java:675) ~[hugegraph-api-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.core.GraphManager.serverStarted(GraphManager.java:421) ~[hugegraph-api-0.13.0.jar:0.69.0.0]
	at com.baidu.hugegraph.core.GraphManager.<init>(GraphManager.java:115) ~[hugegraph-api-0.13.0.jar:0.69.0.0]
	at com.baidu.hugegraph.server.ApplicationConfig$GraphManagerFactory$1.onEvent(ApplicationConfig.java:130) ~[hugegraph-api-0.13.0.jar:0.69.0.0]
	at org.glassfish.jersey.server.internal.monitoring.CompositeApplicationEventListener.onEvent(CompositeApplicationEventListener.java:49) ~[jersey-server-3.0.3.jar:?]
	at org.glassfish.jersey.server.internal.monitoring.MonitoringContainerListener.onStartup(MonitoringContainerListener.java:56) ~[jersey-server-3.0.3.jar:?]
	at org.glassfish.jersey.server.ApplicationHandler.onStartup(ApplicationHandler.java:711) ~[jersey-server-3.0.3.jar:?]
	at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.start(GrizzlyHttpContainer.java:330) ~[jersey-container-grizzly2-http-3.0.3.jar:?]
	at org.glassfish.grizzly.http.server.HttpHandlerChain.start(HttpHandlerChain.java:376) ~[grizzly-http-server-3.0.1.jar:3.0.1]
	at org.glassfish.grizzly.http.server.HttpServer.setupHttpHandler(HttpServer.java:268) ~[grizzly-http-server-3.0.1.jar:3.0.1]
	at org.glassfish.grizzly.http.server.HttpServer.start(HttpServer.java:245) ~[grizzly-http-server-3.0.1.jar:3.0.1]
	at com.baidu.hugegraph.server.RestServer.start(RestServer.java:73) ~[hugegraph-api-0.13.0.jar:0.69.0.0]
	at com.baidu.hugegraph.server.RestServer.start(RestServer.java:180) ~[hugegraph-api-0.13.0.jar:0.69.0.0]
	at com.baidu.hugegraph.dist.HugeRestServer.start(HugeRestServer.java:34) ~[hugegraph-dist-0.13.0.jar:?]
	at com.baidu.hugegraph.dist.HugeGraphServer.<init>(HugeGraphServer.java:62) ~[hugegraph-dist-0.13.0.jar:?]
	at com.baidu.hugegraph.dist.HugeGraphServer.main(HugeGraphServer.java:121) ~[hugegraph-dist-0.13.0.jar:?]
Caused by: java.util.concurrent.ExecutionException: com.baidu.hugegraph.backend.BackendException: Failed to execute query: `Query * from VERTEX where id in [0x8673657276657233]`
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_332]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_332]
	at com.baidu.hugegraph.task.ServerInfoManager.call(ServerInfoManager.java:295) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
	at com.baidu.hugegraph.task.ServerInfoManager.call(ServerInfoManager.java:295)
	... 19 more
Caused by: com.baidu.hugegraph.backend.BackendException: Failed to execute query: `Query * from VERTEX where id in [0x8673657276657233]`
	at com.baidu.hugegraph.backend.store.raft.RaftBackendStore.queryByRaft(RaftBackendStore.java:247)
	at com.baidu.hugegraph.backend.store.raft.RaftBackendStore.queryByRaft(RaftBackendStore.java:219)
	at com.baidu.hugegraph.backend.store.raft.RaftBackendStore.query(RaftBackendStore.java:154)
	at com.baidu.hugegraph.backend.tx.AbstractTransaction.query(AbstractTransaction.java:163)
	at com.baidu.hugegraph.backend.tx.GraphTransaction.query(GraphTransaction.java:532)
	at com.baidu.hugegraph.backend.tx.GraphTransaction.queryVerticesFromBackend(GraphTransaction.java:802)
	at com.baidu.hugegraph.backend.tx.GraphTransaction.queryVerticesByIds(GraphTransaction.java:750)
	at com.baidu.hugegraph.backend.tx.GraphTransaction.queryVertices(GraphTransaction.java:704)
	at com.baidu.hugegraph.task.ServerInfoManager.lambda$serverInfo$3(ServerInfoManager.java:312)
	at com.baidu.hugegraph.task.TaskManager$ContextCallable.call(TaskManager.java:354)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: com.baidu.hugegraph.backend.BackendException: Failed to do raft read-index: Status[EPERM<1008>: Invalid state for readIndex: STATE_ERROR.]
	at com.baidu.hugegraph.backend.store.raft.RaftBackendStore$1.run(RaftBackendStore.java:235)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.notifyFail(ReadOnlyServiceImpl.java:212)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.run(ReadOnlyServiceImpl.java:168)
	at com.alipay.sofa.jraft.core.NodeImpl.handleReadIndexRequest(NodeImpl.java:1509)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl.executeReadIndexEvents(ReadOnlyServiceImpl.java:234)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl.access$200(ReadOnlyServiceImpl.java:70)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:133)
	at com.alipay.sofa.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:116)
	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137)
	... 1 more
Error: Process completed with exit code 1.

@javeme
Copy link
Contributor Author

javeme commented Jun 6, 2022

postgresql java11 ci:

Error: -06 05:47:41 [main] [ERROR] c.b.h.b.Transaction - Failed to commit changes:
com.baidu.hugegraph.backend.BackendException: Failed to commit
	at com.baidu.hugegraph.backend.store.mysql.MysqlSessions$Session.commit(MysqlSessions.java:438) ~[classes/:?]
	at com.baidu.hugegraph.backend.store.mysql.MysqlStore.commitTx(MysqlStore.java:308) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.AbstractTransaction.commitMutation2Backend(AbstractTransaction.java:322) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.IndexableTransaction.commit2Backend(IndexableTransaction.java:57) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.AbstractTransaction.commit(AbstractTransaction.java:238) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.AbstractTransaction.commitOrRollback(AbstractTransaction.java:377) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.AbstractTransaction.afterWrite(AbstractTransaction.java:344) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.SchemaTransaction.saveSchema(SchemaTransaction.java:448) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.SchemaTransaction.updateSchema(SchemaTransaction.java:406) ~[classes/:?]
	at com.baidu.hugegraph.backend.cache.CachedSchemaTransaction.updateSchema(CachedSchemaTransaction.java:216) ~[classes/:?]
	at com.baidu.hugegraph.backend.tx.SchemaTransaction.updatePropertyKey(SchemaTransaction.java:136) ~[classes/:?]
	at com.baidu.hugegraph.StandardHugeGraph.updatePropertyKey(StandardHugeGraph.java:720) ~[classes/:?]
	at com.baidu.hugegraph.schema.builder.PropertyKeyBuilder.append(PropertyKeyBuilder.java:197) ~[classes/:?]
	at com.baidu.hugegraph.schema.builder.PropertyKeyBuilder.append(PropertyKeyBuilder.java:46) ~[classes/:?]
	at com.baidu.hugegraph.core.PropertyKeyCoreTest.testAppendPropertyKeyWithUserdata(PropertyKeyCoreTest.java:611) ~[classes/:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.12.jar:4.12]
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) ~[junit-4.12.jar:4.12]
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) ~[junit-4.12.jar:4.12]
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12]
	at org.junit.runners.Suite.runChild(Suite.java:128) ~[junit-4.12.jar:4.12]
	at org.junit.runners.Suite.runChild(Suite.java:27) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) ~[junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) ~[junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12]
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) ~[surefire-junit4-2.20.jar:2.20]
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272) ~[surefire-junit4-2.20.jar:2.20]
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236) ~[surefire-junit4-2.20.jar:2.20]
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) ~[surefire-junit4-2.20.jar:2.20]
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386) ~[surefire-booter-2.20.jar:2.20]
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323) ~[surefire-booter-2.20.jar:2.20]
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143) ~[surefire-booter-2.20.jar:2.20]
Caused by: java.sql.BatchUpdateException: Batch entry 0 UPDATE pk SET NAME='age', STATUS=1, CARDINALITY=1, DATA_TYPE=8, AGGREGATE_TYPE=0, PROPERTIES='[]', USER_DATA='{"max":100,"~create_time":"2022-06-06 05:47:41.879","min":1}', WRITE_TYPE=1,  WHERE ID=15 was aborted: ERROR: syntax error at or near "WHERE"
  Position: 129  Call getNextException to see other errors in the batch.
	at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:148) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.core.ResultHandlerDelegate.handleError(ResultHandlerDelegate.java:50) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2191) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:472) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:791) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1563) ~[postgresql-42.1.4.jar:42.1.4]
	at com.baidu.hugegraph.backend.store.mysql.MysqlSessions$Session.commit(MysqlSessions.java:433) ~[classes/:?]
	... 50 more
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "WHERE"
  Position: 129
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:472) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:791) ~[postgresql-42.1.4.jar:42.1.4]
	at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1563) ~[postgresql-42.1.4.jar:42.1.4]
	at com.baidu.hugegraph.backend.store.mysql.MysqlSessions$Session.commit(MysqlSessions.java:433) ~[classes/:?]
	... 50 more

}
// Eliminate sub rows (edges)
for (CassandraBackendEntry.Row row : entry.subRows()) {
this.table(row.type()).eliminate(session, row);
}
break;
case UPDATE_IF_PRESENT:
if (entry.selfChanged()) {
// TODO: forward to master-writer node
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: override updateIfAbsent for cassandra by INSERT xx IF NOT EXISTS
https://docs.datastax.com/en/cql-oss/3.3/cql/cql_reference/cqlInsert.html

@zyxxoo zyxxoo merged commit 6861f12 into master Jul 6, 2022
@zyxxoo zyxxoo deleted the schema-update-bug-rebase branch July 6, 2022 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants