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

allow system async task in gremlin context #892

Merged
merged 2 commits into from
Mar 13, 2020
Merged

Conversation

zhoney
Copy link
Contributor

@zhoney zhoney commented Mar 12, 2020

Change-Id: I5ec9e09ea366ff32b6460ff138d8412065da2ca4

fix:

2020-03-12 10:41:27 65011 [gremlin-server-exec-4] [WARN ] com.baidu.hugegraph.security.HugeSecurityManager [] - SecurityException: Not allowed to access thread group via Gremlin
2020-03-12 10:41:27 65012 [gremlin-server-exec-4] [WARN ] org.apache.tinkerpop.gremlin.server.handler.HttpGremlinEndpointHandler [] - Invalid request - responding with 500 Internal Server Error and Not allowed to access thread group via Gremlin
java.lang.SecurityException: Not allowed to access thread group via Gremlin
    at com.baidu.hugegraph.security.HugeSecurityManager.newSecurityException(HugeSecurityManager.java:357) ~[classes/:?]
    at com.baidu.hugegraph.security.HugeSecurityManager.checkAccess(HugeSecurityManager.java:136) ~[classes/:?]
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) ~[?:1.8.0_121]
    at java.lang.Thread.init(Thread.java:391) ~[?:1.8.0_121]
    at java.lang.Thread.init(Thread.java:349) ~[?:1.8.0_121]
    at java.lang.Thread.<init>(Thread.java:675) ~[?:1.8.0_121]
    at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Executors.java:613) ~[?:1.8.0_121]
    at org.apache.commons.lang3.concurrent.BasicThreadFactory.newThread(BasicThreadFactory.java:206) ~[commons-lang3-3.8.1.jar:3.8.1]
    at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:612) ~[?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:925) ~[?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1357) ~[?:1.8.0_121]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) ~[?:1.8.0_121]
    at com.baidu.hugegraph.task.TaskScheduler.submitTask(TaskScheduler.java:190) ~[classes/:?]
    at com.baidu.hugegraph.task.TaskScheduler.schedule(TaskScheduler.java:180) ~[classes/:?]
    at com.baidu.hugegraph.job.JobBuilder.schedule(JobBuilder.java:85) ~[classes/:?]
    at com.baidu.hugegraph.backend.tx.SchemaTransaction.asyncRun(SchemaTransaction.java:475) ~[classes/:?]
    at com.baidu.hugegraph.backend.tx.SchemaTransaction.rebuildIndex(SchemaTransaction.java:255) ~[classes/:?]
    at com.baidu.hugegraph.schema.builder.IndexLabelBuilder.createWithTask(IndexLabelBuilder.java:143) ~[classes/:?]
    at com.baidu.hugegraph.schema.builder.IndexLabelBuilder.create(IndexLabelBuilder.java:155) ~[classes/:?]
    at com.baidu.hugegraph.schema.builder.IndexLabelBuilder.create(IndexLabelBuilder.java:55) ~[classes/:?]
    at com.baidu.hugegraph.schema.builder.SchemaBuilder$create.call(Unknown Source) ~[?:?]
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.7-indy.jar:2.5.7]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.7-indy.jar:2.5.7]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) ~[groovy-2.5.7-indy.jar:2.5.7]
    at Script5.run(Script5.groovy:1) ~[?:?]
    at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:674) ~[gremlin-groovy-3.4.3.jar:3.4.3]
    at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:376) ~[gremlin-groovy-3.4.3.jar:3.4.3]
    at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233) ~[?:1.8.0_121]
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:266) ~[gremlin-groovy-3.4.3.jar:3.4.3]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
    at com.baidu.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:282) [classes/:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

Change-Id: I5ec9e09ea366ff32b6460ff138d8412065da2ca4
@@ -64,6 +64,14 @@
"file.encoding" // PostgreSQL
);

private static final Map<String, Set<String>> ASYNC_TASKS = ImmutableMap.of(
"com.baidu.hugegraph.backend.tx.SchemaTransaction",
ImmutableSet.of("rebuildIndex", "removeVertexLabel",
Copy link
Contributor

Choose a reason for hiding this comment

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

put rebuildIndex to the fourth param

Change-Id: I6752230058bbcf4c8e8c76f4ba953ad1d6a90df7
@codecov
Copy link

codecov bot commented Mar 12, 2020

Codecov Report

Merging #892 into master will decrease coverage by 0.02%.
The diff coverage is 50.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #892      +/-   ##
============================================
- Coverage     72.13%   72.11%   -0.03%     
- Complexity     4456     4457       +1     
============================================
  Files           287      287              
  Lines         21227    21231       +4     
  Branches       2992     2992              
============================================
- Hits          15313    15310       -3     
- Misses         4401     4408       +7     
  Partials       1513     1513              
Impacted Files Coverage Δ Complexity Δ
.../baidu/hugegraph/security/HugeSecurityManager.java 84.48% <50.00%> (+0.36%) 82.00 <1.00> (+1.00)
...om/baidu/hugegraph/api/filter/ExceptionFilter.java 62.36% <0.00%> (-4.31%) 0.00% <0.00%> (ø%)
...du/hugegraph/backend/tx/GraphIndexTransaction.java 80.65% <0.00%> (-0.40%) 180.00% <0.00%> (ø%)
...u/hugegraph/backend/store/mysql/MysqlSessions.java 63.01% <0.00%> (ø) 24.00% <0.00%> (ø%)

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 f1f1d0e...54ac303. Read the comment docs.

@zhoney
Copy link
Contributor Author

zhoney commented Mar 13, 2020

复现方式

启动HugeGraphServer后,创建PK,VL、IL即可。

cause分析

HugeGraphServer启动后,taskExecutorFixedThreadPool)虽然已近创建,但是其负责运行任务的线程还没有创建。当用Gremlin执行IndexLabel创建时,会产生异步任务rebuildIndex并提交至taskExecutor,此时会真正的创建一个新的Thread去执行rebuildIndex。而SecurityManager不允许Gremlin执行中创建线程,因此出现not allowed异常

由IndexLabel create出发rebuildIndex是系统内部的合理机制,SecurityManager应该允许。除了rebuildIndex外,还有以下合理的系统内部异步任务,这些都应该被允许创建Thread:

  • VertexLabel delete
  • EdgeLabel delete
  • IndexLabel delete
  • remove left indexes

因此,修复方式为:SecurityManager允许系统内部的异步任务调度时创建Thread。

没有在API test中添加测试用例,是因为没有想到好的方法能保证在server启动后且taskExecutor创建完Thread前,执行上述会触发异步任务的操作。

@javeme javeme merged commit 44c555d into master Mar 13, 2020
@javeme javeme deleted the async-task-security branch March 13, 2020 04:28
@zhoney
Copy link
Contributor Author

zhoney commented Mar 13, 2020

2020-03-11 09:45:58 507485837 [gremlin-server-exec-7] [WARN ] com.baidu.hugegraph.security.HugeSecurityManager [] - SecurityException: Not allowed to access thread group via Gremlin
2020-03-11 09:45:58 507485838 [gremlin-server-exec-7] [WARN ] org.apache.tinkerpop.gremlin.server.handler.HttpGremlinEndpointHandler [] - Invalid request - responding with 500 Internal Server Error and Not allowed to access thread group via Gremlin
java.lang.SecurityException: Not allowed to access thread group via Gremlin
        at com.baidu.hugegraph.security.HugeSecurityManager.newSecurityException(HugeSecurityManager.java:357) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.security.HugeSecurityManager.checkAccess(HugeSecurityManager.java:136) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) ~[?:1.8.0_232]
        at java.lang.Thread.init(Thread.java:394) ~[?:1.8.0_232]
        at java.lang.Thread.init(Thread.java:349) ~[?:1.8.0_232]
        at java.lang.Thread.<init>(Thread.java:599) ~[?:1.8.0_232]
        at io.netty.util.concurrent.FastThreadLocalThread.<init>(FastThreadLocalThread.java:60) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
        at io.netty.util.concurrent.DefaultThreadFactory.newThread(DefaultThreadFactory.java:124) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
        at io.netty.util.concurrent.DefaultThreadFactory.newThread(DefaultThreadFactory.java:108) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
        at com.google.common.util.concurrent.ThreadFactoryBuilder$1.newThread(ThreadFactoryBuilder.java:162) ~[guava-19.0.jar:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:619) ~[?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:932) ~[?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1367) ~[?:1.8.0_232]
        at com.google.common.util.concurrent.MoreExecutors$ListeningDecorator.execute(MoreExecutors.java:556) ~[guava-19.0.jar:?]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) ~[?:1.8.0_232]
        at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:53) ~[guava-19.0.jar:?]
        at com.datastax.driver.core.HostConnectionPool.borrowConnection(HostConnectionPool.java:212) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.RequestHandler$SpeculativeExecution.query(RequestHandler.java:296) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.RequestHandler$SpeculativeExecution.findNextHostAndQuery(RequestHandler.java:274) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.RequestHandler.startNewExecution(RequestHandler.java:117) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:97) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:132) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:68) ~[cassandra-driver-core-3.2.0.jar:?]
        at com.baidu.hugegraph.backend.store.cassandra.CassandraSessionPool$Session.execute(CassandraSessionPool.java:194) ~[hugegraph-cassandra-0.10.4.jar:?]
        at com.baidu.hugegraph.backend.store.cassandra.CassandraSessionPool$Session.query(CassandraSessionPool.java:190) ~[hugegraph-cassandra-0.10.4.jar:?]
        at com.baidu.hugegraph.backend.store.cassandra.CassandraTable.query(CassandraTable.java:107) ~[hugegraph-cassandra-0.10.4.jar:?]
        at com.baidu.hugegraph.backend.store.cassandra.CassandraStore.query(CassandraStore.java:251) ~[hugegraph-cassandra-0.10.4.jar:?]
        at com.baidu.hugegraph.backend.tx.AbstractTransaction.query(AbstractTransaction.java:105) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.backend.tx.GraphTransaction.query(GraphTransaction.java:391) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.backend.tx.GraphTransaction.queryVerticesFromBackend(GraphTransaction.java:592) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.backend.cache.CachedGraphTransaction.queryVerticesByIds(CachedGraphTransaction.java:170) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.backend.cache.CachedGraphTransaction.queryVerticesFromBackend(CachedGraphTransaction.java:148) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.backend.tx.GraphTransaction.queryVertices(GraphTransaction.java:535) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.HugeGraph.vertices(HugeGraph.java:407) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.traversal.optimize.HugeGraphStep.vertices(HugeGraphStep.java:83) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at com.baidu.hugegraph.traversal.optimize.HugeGraphStep.lambda$new$0(HugeGraphStep.java:67) ~[hugegraph-core-0.10.4.jar:0.10.4.0]
        at org.apache.tinkerpop.gremlin.process.traversal.step.map.GraphStep.processNextStart(GraphStep.java:155) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.map.FlatMapStep.processNextStart(FlatMapStep.java:48) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:205) ~[gremlin-core-3.4.3.jar:3.4.3]
        at java_util_Iterator$next.call(Unknown Source) ~[?:?]
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.7-indy.jar:2.5.7]
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.7-indy.jar:2.5.7]
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) ~[groovy-2.5.7-indy.jar:2.5.7]
        at Script59.run(Script59.groovy:1) ~[?:?]
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:674) ~[gremlin-groovy-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:376) ~[gremlin-groovy-3.4.3.jar:3.4.3]
        at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233) ~[?:1.8.0_232]
        at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:266) ~[gremlin-groovy-3.4.3.jar:3.4.3]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_232]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
        at com.baidu.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:282) [hugegraph-api-0.10.4.jar:0.48.0.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

@zhoney
Copy link
Contributor Author

zhoney commented Mar 16, 2020

当查询会涉及多个host的时候,查询完当前host(当前链接)会按照执行计划尝试找下一个host进行查询(findNextHostAndQuery),这时按按需创建链接(executor创建Thread

zhoney added a commit that referenced this pull request Mar 16, 2020
fixed: #892

Change-Id: I586eb64c90c475508247c3f8a39ae487598dd518
javeme pushed a commit that referenced this pull request Mar 16, 2020
#896)

fixed: #892

Change-Id: I586eb64c90c475508247c3f8a39ae487598dd518
@javeme
Copy link
Contributor

javeme commented Mar 18, 2020

0.11 rocksdb

2020-03-18 13:52:14 3584838 [gremlin-server-exec-14] [WARN ] org.apache.tinkerpop.gremlin.server.handler.HttpGremlinEndpointHandler [] - Invalid request - responding with 500 Internal Server Error and Not allowed to access thread group via Gremlin
java.lang.SecurityException: Not allowed to access thread group via Gremlin
        at com.baidu.hugegraph.security.HugeSecurityManager.newSecurityException(HugeSecurityManager.java:357) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.security.HugeSecurityManager.checkAccess(HugeSecurityManager.java:136) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) ~[?:1.8.0_121]
        at java.lang.Thread.init(Thread.java:391) ~[?:1.8.0_121]
        at java.lang.Thread.init(Thread.java:349) ~[?:1.8.0_121]
        at java.lang.Thread.<init>(Thread.java:675) ~[?:1.8.0_121]
        at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Executors.java:613) ~[?:1.8.0_121]
        at org.apache.commons.lang3.concurrent.BasicThreadFactory.newThread(BasicThreadFactory.java:206) ~[commons-lang3-3.8.1.jar:3.8.1]
        at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:612) ~[?:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:925) ~[?:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1357) ~[?:1.8.0_121]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) ~[?:1.8.0_121]
        at com.baidu.hugegraph.task.TaskScheduler.submitTask(TaskScheduler.java:188) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.task.TaskScheduler.schedule(TaskScheduler.java:177) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.job.EphemeralJobBuilder.schedule(EphemeralJobBuilder.java:75) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.backend.tx.GraphIndexTransaction.asyncRemoveIndexLeft(GraphIndexTransaction.java:108) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.backend.tx.GraphTransaction.filterResultFromIndexQuery(GraphTransaction.java:1297) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.backend.tx.GraphTransaction.lambda$queryVertices$2(GraphTransaction.java:577) ~[hugegraph-core-0.11.0.jar:0.11.0.0]
        at com.baidu.hugegraph.iterator.FilterIterator.fetch(FilterIterator.java:45) ~[hugegraph-common-1.6.16.jar:1.6.16.0]
        at com.baidu.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:41) ~[hugegraph-common-1.6.16.jar:1.6.16.0]
        at org.apache.tinkerpop.gremlin.process.traversal.step.map.GraphStep.processNextStart(GraphStep.java:147) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) ~[gremlin-core-3.4.3.jar:3.4.3]
        at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:197) ~[gremlin-core-3.4.3.jar:3.4.3]
        at com.baidu.hugegraph.traversal.algorithm.FusiformSimilarityTraverser.fusiformSimilarity(FusiformSimilarityTraverser.java:70) ~[hugegraph-core-0.11.0.jar:0.11.0.0]

@javeme
Copy link
Contributor

javeme commented Jun 12, 2020

相关问题:#758

javeme pushed a commit that referenced this pull request Jun 18, 2020
Change-Id: I5ec9e09ea366ff32b6460ff138d8412065da2ca4
javeme pushed a commit that referenced this pull request Jun 18, 2020
#896)

fixed: #892

Change-Id: I586eb64c90c475508247c3f8a39ae487598dd518
Linary added a commit that referenced this pull request Jun 19, 2020
* Fix mysql backend openWithoutDB ssl-mode not work (#842)
* fix bug of missing offset with index query (#866)
* allow system async task in gremlin context (#892)
* sm allow cassandra backend creating thread as needed while execute cql (#896)
* fix: Invalid limit 10000000, must be <= capacity (#950)
* Fix gremlin-console can't work (#1027)

Change-Id: Ice222d809e4161f1d4d1f04822bef1c5af380a10

Co-authored-by: Linary <liningrui@vip.qq.com>
Co-authored-by: zhoney <zhangyi51@baidu.com>
zhoney added a commit that referenced this pull request Sep 22, 2020
Change-Id: I5ec9e09ea366ff32b6460ff138d8412065da2ca4
zhoney added a commit that referenced this pull request Sep 22, 2020
#896)

fixed: #892

Change-Id: I586eb64c90c475508247c3f8a39ae487598dd518
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.

None yet

3 participants