功能:
//name: CD_CreateSubClassIndexes
//params:
//idempotence: false
//code:
var codeUnitClasses = db.query("select from (select name from (SELECT expand(classes) FROM #0:1) where superClass = 'CodeUnit') order by name asc");
logger("starting CodeUnit index creation",'info');
for(var i=0; i<codeUnitClasses.length; i++){
var className = codeUnitClasses[i].field("name");
logger("starting CodeUnit index creation for class : " + className,'info');
db.command("CREATE INDEX "+className+".binName ON "+className+" (binName) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".isExcluded ON "+className+" (isExcluded) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".module ON "+className+" (module) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".module_binName ON "+className+" (module,binName) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".module_name_new ON "+className+" (module, name) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".module_type ON "+className+" (module,type) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".name ON "+className+" (name) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".orgUnit ON "+className+" (orgUnit) NOTUNIQUE_HASH_INDEX");
db.command("CREATE INDEX "+className+".orgUnit_binName ON "+className+" (orgUnit,binName) NOTUNIQUE_HASH_INDEX");
}
为类创建索引的OrientDB javascript函数在以下消息后被卡住了。
2016-08-09 11:27:12:773 WARNI {db = Insight5}文件internal.pcl中的页面 索引7被放在错误的空闲列表中,这个错误将被修复 自动。 [OPaginatedCluster] 2016-08-09 11:27:49
我正在使用:
Windows 7 64位,java 8.0.31, orientdb-community-2.1.20,Xmx4096m,-Dstorage.diskCache.bufferSize = 2048
orientdb服务器-config.xml中:
<properties>
<entry value="50" name="db.pool.min"/>
<entry value="250" name="db.pool.max"/>
<entry value="1000" name="script.pool.maxSize"/>
<entry value="false" name="profiler.enabled"/>
<entry value="INFO" name="log.console.level"/>
<entry value="INFO" name="log.file.level"/>
<entry value="10000" name="storage.record.lockTimeout"/>
</properties>
线程转储:
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.31-b07 mixed mode):
"OrientDB HTTP Connection /0:0:0:0:0:0:0:1:2480<-/0:0:0:0:0:0:0:1:52523" #32 daemon prio=5 os_prio=0 tid=0x0000000021e5d800 nid=0x1a1c runnable [0x00000000230bf0
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
- locked <0x00000006c3cdadf8> (a java.io.BufferedInputStream)
at com.orientechnologies.orient.enterprise.channel.text.OChannelText.read(OChannelText.java:61)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:571)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
"OrientDB HTTP Connection /0:0:0:0:0:0:0:1:2480<-/0:0:0:0:0:0:0:1:52494" #23 daemon prio=5 os_prio=0 tid=0x0000000022218800 nid=0x1cfc waiting on condition [0x00
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c05f14f0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
at com.orientechnologies.orient.core.storage.cache.OCachePointer.acquireExclusiveLock(OCachePointer.java:199)
at com.orientechnologies.orient.core.storage.cache.OCacheEntry.acquireExclusiveLock(OCacheEntry.java:79)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.updateFreePagesList(OPaginatedCluster.java:1593)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.updateFreePagesIndex(OPaginatedCluster.java:1549)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.findFreePage(OPaginatedCluster.java:1482)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.updateRecord(OPaginatedCluster.java:784)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateRecord(OAbstractPaginatedStorage.java:1960)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.updateRecord(OAbstractPaginatedStorage.java:889)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:2009)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:160)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2526)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:122)
at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1759)
at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1750)
at com.orientechnologies.orient.core.index.OIndexManagerAbstract$1.call(OIndexManagerAbstract.java:132)
at com.orientechnologies.orient.core.db.OScenarioThreadLocal.executeAsDistributed(OScenarioThreadLocal.java:71)
at com.orientechnologies.orient.core.index.OIndexManagerAbstract.save(OIndexManagerAbstract.java:122)
at com.orientechnologies.orient.core.index.OIndexManagerShared.createIndex(OIndexManagerShared.java:167)
at com.orientechnologies.orient.core.index.OIndexManagerProxy.createIndex(OIndexManagerProxy.java:75)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.createIndex(OClassImpl.java:1759)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateIndex.execute(OCommandExecutorSQLCreateIndex.java:264)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:90)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1433)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1406)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:67)
at com.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper.command(OScriptDocumentDatabaseWrapper.java:114)
at com.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper.command(OScriptDocumentDatabaseWrapper.java:110)
at java.lang.invoke.LambdaForm$DMH/232925641.invokeVirtual_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invoke_LL_L(LambdaForm.java:1108)
at java.lang.invoke.LambdaForm$DMH/1971489295.invokeStatic_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invokeWithArguments(LambdaForm.java:1147)
at java.lang.invoke.LambdaForm.interpretName(LambdaForm.java:625)
at java.lang.invoke.LambdaForm.interpretWithArguments(LambdaForm.java:604)
at java.lang.invoke.LambdaForm$LFI/519569038.interpret_L(LambdaForm$LFI)
at java.lang.invoke.LambdaForm$NamedFunction.invoke_LL_L(LambdaForm.java:1108)
at java.lang.invoke.LambdaForm$DMH/1971489295.invokeStatic_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invokeWithArguments(LambdaForm.java:1147)
at java.lang.invoke.LambdaForm.interpretName(LambdaForm.java:625)
at java.lang.invoke.LambdaForm.interpretWithArguments(LambdaForm.java:604)
at java.lang.invoke.LambdaForm$LFI/519569038.interpret_L(LambdaForm$LFI)
at java.lang.invoke.LambdaForm$MH/1800412487.exactInvoker(LambdaForm$MH)
at java.lang.invoke.LambdaForm$BMH/1828757853.reinvoke(LambdaForm$BMH)
at java.lang.invoke.LambdaForm$NamedFunction.invoke_LLL_L(LambdaForm.java:1113)
at java.lang.invoke.LambdaForm$DMH/1971489295.invokeStatic_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invokeWithArguments(LambdaForm.java:1147)
at java.lang.invoke.LambdaForm.interpretName(LambdaForm.java:625)
at java.lang.invoke.LambdaForm.interpretWithArguments(LambdaForm.java:604)
at java.lang.invoke.LambdaForm$LFI/1844169442.interpret_L(LambdaForm$LFI)
at java.lang.invoke.LambdaForm$DMH/2114694065.invokeSpecial_LLLL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invoke_LLLL_L(LambdaForm.java:1118)
at java.lang.invoke.LambdaForm$DMH/1971489295.invokeStatic_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$NamedFunction.invokeWithArguments(LambdaForm.java:1147)
at java.lang.invoke.LambdaForm.interpretName(LambdaForm.java:625)
at java.lang.invoke.LambdaForm.interpretWithArguments(LambdaForm.java:604)
at java.lang.invoke.LambdaForm$LFI/1844169442.interpret_L(LambdaForm$LFI)
at java.lang.invoke.LambdaForm$MH/1786292209.linkToCallSite(LambdaForm$MH)
at jdk.nashorn.internal.scripts.Script$\^eval\_$9.CD_CreateSubClassIndexes(<eval>:4628)
at java.lang.invoke.LambdaForm$DMH/1971489295.invokeStatic_LL_L(LambdaForm$DMH)
at java.lang.invoke.LambdaForm$MH/1374677625.invokeExact_MT(LambdaForm$MH)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:535)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:209)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:378)
at jdk.nashorn.api.scripting.ScriptObjectMirror.callMember(ScriptObjectMirror.java:185)
at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:505)
at jdk.nashorn.api.scripting.NashornScriptEngine.invokeFunction(NashornScriptEngine.java:227)
at com.orientechnologies.orient.core.command.script.OCommandExecutorFunction.executeInContext(OCommandExecutorFunction.java:94)
at com.orientechnologies.orient.core.metadata.function.OFunction.executeInContext(OFunction.java:149)
at com.orientechnologies.orient.server.network.protocol.http.command.all.OServerCommandAbstractLogic.execute(OServerCommandAbstractLogic.java:77)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.service(ONetworkProtocolHttpAbstract.java:180)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:627)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
"OrientDB Write Cache Flush Task (Insight5)" #22 daemon prio=10 os_prio=2 tid=0x000000001e69b800 nid=0x233c runnable [0x0000000020fdf000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c0a5c6d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"OrientDB WAL Flush Task (Insight5)" #21 daemon prio=5 os_prio=0 tid=0x000000001f512800 nid=0xd44 waiting on condition [0x0000000020e8e000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c09edfc8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" #19 prio=5 os_prio=0 tid=0x00000000021ea000 nid=0x1eb4 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"OrientDB ONetworkProtocolHttpDb listen at 0.0.0.0:2480-2490" #16 prio=5 os_prio=0 tid=0x000000001e8bd800 nid=0x15b8 runnable [0x000000002080e000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
- locked <0x00000006c098b330> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at com.orientechnologies.orient.server.network.OServerNetworkListener.run(OServerNetworkListener.java:194)
"OrientDB ONetworkProtocolBinary listen at 0.0.0.0:2424-2430" #14 prio=5 os_prio=0 tid=0x000000001e8c3000 nid=0x16e8 runnable [0x00000000204de000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
- locked <0x00000006c098cf40> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at com.orientechnologies.orient.server.network.OServerNetworkListener.run(OServerNetworkListener.java:194)
"Timer-0" #11 daemon prio=5 os_prio=0 tid=0x000000001e792000 nid=0xd80 in Object.wait() [0x000000001ee3f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x00000006c094a3e8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)
"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x000000001d6a5000 nid=0x2108 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000001d63a800 nid=0x1bec waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000000001d639000 nid=0x1c64 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000001d632800 nid=0x19ec waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000001c045800 nid=0x14cc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000001c044800 nid=0x2304 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000001bfe8000 nid=0x1604 in Object.wait() [0x000000001d62f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
- locked <0x00000006c0861d78> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000001bfdf000 nid=0x20c0 in Object.wait() [0x000000001d35f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x00000006c0b40cc8> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=2 tid=0x000000001bfdb000 nid=0x2078 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000021fe800 nid=0xbfc runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000002200000 nid=0x768 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002201800 nid=0x264 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002203000 nid=0x1d9c runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000000001d6a6800 nid=0x15e8 waiting on condition
JNI global references: 2513
Heap
PSYoungGen total 928256K, used 76187K [0x000000076ab00000, 0x00000007bce00000, 0x00000007c0000000)
eden space 924672K, 7% used [0x000000076ab00000,0x000000076f1f1ff0,0x00000007a3200000)
from space 3584K, 98% used [0x00000007bbc00000,0x00000007bbf74dc0,0x00000007bbf80000)
to space 10752K, 0% used [0x00000007bc380000,0x00000007bc380000,0x00000007bce00000)
ParOldGen total 235008K, used 130502K [0x00000006c0000000, 0x00000006ce580000, 0x000000076ab00000)
object space 235008K, 55% used [0x00000006c0000000,0x00000006c7f71a28,0x00000006ce580000)
Metaspace used 30289K, capacity 31100K, committed 34304K, reserved 1081344K
class space used 3052K, capacity 3256K, committed 3328K, reserved 1048576K