Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The master key can't be changed if there are Unicode symbols in the name.
The reason is the wrong key name length calculation.
[2020-06-03 18:43:35,289][ERROR][disco-notifier-worker-#84%grid-1%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=class o.a.i.i.processors.cache.persistence.StorageException: Unable to write]] class org.apache.ignite.internal.processors.cache.persistence.StorageException: Unable to write at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.flush(FsyncFileWriteHandle.java:476) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.flush(FsyncFileWriteHandle.java:404) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.flushOrWait(FsyncFileWriteHandle.java:344) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.fsync(FsyncFileWriteHandle.java:586) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileHandleManagerImpl.flush(FsyncFileHandleManagerImpl.java:167) at org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.flush(FileWriteAheadLogManager.java:903) at org.apache.ignite.internal.processors.cache.persistence.metastorage.MetaStorage.writeRaw(MetaStorage.java:438) at org.apache.ignite.internal.processors.cache.persistence.metastorage.MetaStorage.write(MetaStorage.java:401) at org.apache.ignite.internal.managers.encryption.GridEncryptionManager.writeKeysToMetaStore(GridEncryptionManager.java:822) at org.apache.ignite.internal.managers.encryption.GridEncryptionManager.doChangeMasterKey(GridEncryptionManager.java:956) at org.apache.ignite.internal.managers.encryption.GridEncryptionManager.performMasterKeyChange(GridEncryptionManager.java:1086) at org.apache.ignite.internal.util.distributed.DistributedProcess.lambda$new$2(DistributedProcess.java:148) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:732) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:533) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2641) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2679) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: java.lang.IllegalStateException: Failed to write record: WALRecord [size=418, chainSize=418, pos=FileWALPointer [idx=0, fileOff=402386, len=418], type=MASTER_KEY_CHANGE_RECORD] ... 18 more Caused by: java.lang.IllegalStateException: Failed to write record: WALRecord [size=418, chainSize=418, pos=FileWALPointer [idx=0, fileOff=402386, len=418], type=MASTER_KEY_CHANGE_RECORD] at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.fillBuffer(FsyncFileWriteHandle.java:512) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.flush(FsyncFileWriteHandle.java:464) ... 17 more Caused by: java.nio.BufferOverflowException at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:363) at java.nio.ByteBuffer.put(ByteBuffer.java:859) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV1Serializer.writePlainRecord(RecordDataV1Serializer.java:1821) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV2Serializer.writePlainRecord(RecordDataV2Serializer.java:332) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV1Serializer.writeRecord(RecordDataV1Serializer.java:238) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV2Serializer$2.writeWithHeaders(RecordV2Serializer.java:189) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV1Serializer.writeWithCrc(RecordV1Serializer.java:414) at org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV2Serializer.writeRecord(RecordV2Serializer.java:232) at org.apache.ignite.internal.processors.cache.persistence.wal.filehandle.FsyncFileWriteHandle.fillBuffer(FsyncFileWriteHandle.java:509) ... 18 more
Attachments
Issue Links
- links to