Vladimir Steshin created IGNITE-15350:
-----------------------------------------
Summary: Refactor EncryptedFileIO
Key: IGNITE-15350
URL: https://issues.apache.org/jira/browse/IGNITE-15350
Project: Ignite
Issue Type: Task
Reporter: Vladimir Steshin
Current EncryptedFileIO has wierd implementations of several methods. Like
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support
this operation");
}
{code}
@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support
this operation");
}
Why not supported?
Or:
{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;
return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert
position() == 0`
The class contains several writes and reading implemented differently. Some of
them are not supported.
Suggestion: Make one write(...) and one read(...) implementation and call them
passing correct arguments. Read/write the header without encryption. Read/write
everything beyond the header with encryption.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)