12cR1.4.3.11での変更点

Oracle NoSQL Database 12cR1.4.3.11で次の変更が行われました。

バグとパフォーマンスの修正

  1. JLineおよびシェル・コマンドライン履歴に関連するセキュリティを向上させるための更新。[#25940]

  2. セキュアな構成で、Java SE Development Kit 8, Update 121 (JDK 8u121)を使用してOracle NoSQL Databaseを実行したときに起こる可能性のあるRMIレジストリ・フィルタの障害が修正されました。この障害は、新しいRMIのより優れた制約チェック機能が原因で発生していました。この修正により、ストレージ・ノード・エージェントの起動時に、パターンoracle.kv.**;java.lang.Enumがない場合に、このパターンがRMIレジストリ・フィルタsun.rmi.registry.registryFilterに自動的に追加されるようになりました。[#25923]

    この障害により、次のようなスタック・トレースが生成されます。

    Jan 25, 2017 11:15:45 AM java.io.ObjectInputStream filterCheck
    INFO: ObjectInputFilter REJECTED: class java.lang.Enum, array length: -1, nRefs: 14, depth: 4, bytes: 768, ex: n/a
    KVLite: exception in start: java.rmi.RemoteException: Can't rebind snaService at localhost:5000 csf: <SSLClientSocketFactory name=$|sna|main id=1690670528 connectMs=0 readMs=0 kvStoreName=null clientUse=USER> ssf: <SSLServerSocketFactory backlog=1024 port range=0,0 ssl control = oracle.kv.impl.security.ssl.SSLControl@5836ad63>; nested exception is:
    	java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    	java.io.InvalidClassException: filter status: REJECTED
    	at oracle.kv.impl.util.registry.RegistryUtils.rebind(RegistryUtils.java:853)
    	at oracle.kv.impl.sna.StorageNodeAgent.bindUnregisteredSNA(StorageNodeAgent.java:974)
    	at oracle.kv.impl.sna.StorageNodeAgent.startupUnregistered(StorageNodeAgent.java:793)
    	at oracle.kv.impl.sna.StorageNodeAgent.start(StorageNodeAgent.java:624)
    	at oracle.kv.impl.sna.StorageNodeAgentImpl.start(StorageNodeAgentImpl.java:133)
    	at oracle.kv.util.kvlite.KVLite.startSNA(KVLite.java:298)
    	at oracle.kv.util.kvlite.KVLite.start(KVLite.java:524)
    	at oracle.kv.util.kvlite.KVLite.start(KVLite.java:513)
    	at oracle.kv.util.kvlite.KVLite.main(KVLite.java:647)
    	at oracle.kv.impl.util.KVStoreMain$1.run(KVStoreMain.java:190)
    	at oracle.kv.impl.util.KVStoreMain.main(KVStoreMain.java:477)
    Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    	java.io.InvalidClassException: filter status: REJECTED
    	at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:460)
    	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
    	at sun.rmi.transport.Transport$1.run(Transport.java:200)
    	at sun.rmi.transport.Transport$1.run(Transport.java:197)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
    	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
    	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
    	at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    	at oracle.kv.impl.util.registry.RegistryUtils$ExceptionWrappingRegistry.rebind(RegistryUtils.java:1339)
    	at oracle.kv.impl.util.registry.RegistryUtils.exportAndRebind(RegistryUtils.java:1184)
    	at oracle.kv.impl.util.registry.RegistryUtils.rebind(RegistryUtils.java:849)
    	... 10 more
    Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    	java.io.InvalidClassException: filter status: REJECTED
    	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:450)
    	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
    	at sun.rmi.transport.Transport$1.run(Transport.java:200)
    	at sun.rmi.transport.Transport$1.run(Transport.java:197)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: java.io.InvalidClassException: filter status: REJECTED
    	at java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1244)
    	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1832)
    	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
    	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1829)
    	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
    	at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1938)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1532)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    	at sun.rmi.transport.tcp.TCPEndpoint.read(TCPEndpoint.java:555)
    	at sun.rmi.transport.LiveRef.read(LiveRef.java:292)
    	at sun.rmi.server.UnicastRef2.readExternal(UnicastRef2.java:78)
    	at java.rmi.server.RemoteObject.readObject(RemoteObject.java:455)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    	... 15 more