[ 
https://issues.apache.org/jira/browse/IGNITE-13115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amelchev Nikita updated IGNITE-13115:
-------------------------------------
    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.

{noformat}
[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

{noformat}


  was:
The master key name can't be changed if Unicode symbols present.
The reason is the wrong key name length calculation.

{noformat}
[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

{noformat}



> Master key can't be changed if Unicode symbols present
> ------------------------------------------------------
>
>                 Key: IGNITE-13115
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13115
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Amelchev Nikita
>            Assignee: Amelchev Nikita
>            Priority: Major
>
> The master key can't be changed if there are Unicode symbols in the name.
> The reason is the wrong key name length calculation.
> {noformat}
> [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
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to