[
https://issues.redhat.com/browse/DROOLS-5681?page=com.atlassian.jira.plug...
]
Sylvain Lemoine updated DROOLS-5681:
------------------------------------
Description:
When using Java standard serialization mechanism, we can see that ByteArrayResource is now
written twice
in ByteArrayResource
{code:java}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
super.writeExternal( out );
out.writeObject( bytes );
out.writeObject(this.encoding);
}{code}
And super class writeExternal:
{code:java}
public void writeExternal(ObjectOutput out) throws IOException {
//...
out.writeObject( bytes );
}{code}
It works as it also read twice in ByteArrayResource#readExternal and
ByteArrayResource#readExternal.
Anyway, moving the bytes attributes from child class to super class broke our project
serialization as we rely on java serialization for our KieBase resources. Seems ok as
we'll address it by some tweaking on serial uid, but fixing this issue (read/write
once instead of twice) will also break deserialization for projects which rely on it from
7.34.0.Final.
Don't know if it's ok to fix it in the next version. I can make a PR for this
case.
was:
When using Java standard serialization mechanism, we can see that ByteArrayResource is now
written twice
in ByteArrayResource
{code:java}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
super.writeExternal( out );
out.writeObject( bytes );
out.writeObject(this.encoding);
}{code}
And super class writeExternal:
{code:java}
public void writeExternal(ObjectOutput out) throws IOException {
//...
out.writeObject( bytes );
}{code}
It works as it also read twice in ByteArrayResource#readExternal and
ByteArrayResource#writeExternal.
Anyway, moving the bytes attributes from child class to super class broke our project
serialization as we rely on java serialization for our KieBase resources. Seems ok as
we'll address it by some tweaking on serial uid, but fixing this issue (read/write
once instead of twice) will also break deserialization for projects which rely on it from
7.34.0.Final.
Don't know if it's ok to fix it in the next version. I can make a PR for this
case.
ByteArrayResource bytes attribute read/write twice
--------------------------------------------------
Key: DROOLS-5681
URL:
https://issues.redhat.com/browse/DROOLS-5681
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.43.1.Final
Reporter: Sylvain Lemoine
Assignee: Mario Fusco
Priority: Major
When using Java standard serialization mechanism, we can see that ByteArrayResource is
now written twice
in ByteArrayResource
{code:java}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
super.writeExternal( out );
out.writeObject( bytes );
out.writeObject(this.encoding);
}{code}
And super class writeExternal:
{code:java}
public void writeExternal(ObjectOutput out) throws IOException {
//...
out.writeObject( bytes );
}{code}
It works as it also read twice in ByteArrayResource#readExternal and
ByteArrayResource#readExternal.
Anyway, moving the bytes attributes from child class to super class broke our project
serialization as we rely on java serialization for our KieBase resources. Seems ok as
we'll address it by some tweaking on serial uid, but fixing this issue (read/write
once instead of twice) will also break deserialization for projects which rely on it from
7.34.0.Final.
Don't know if it's ok to fix it in the next version. I can make a PR for this
case.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)