Hi,

I'm having troubles with Blob fields after upgrading to Apache Isis 1.16.2 (not sure if this was also the case for 1.16.[0-1]). The feature is using existing data we had no problems with before upgrading.

My field definition:

@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
              @javax.jdo.annotations.Column(name = "file_name", allowsNull = "false"),               @javax.jdo.annotations.Column(name = "file_mimetype", allowsNull = "false"),               @javax.jdo.annotations.Column(name = "file_bytes", jdbcType="BLOB", sqlType = "BLOB", allowsNull = "false")
          })
    @Property(editing=Editing.DISABLED, optionality=Optionality.MANDATORY)
    @Getter @Setter
    private Blob file;

Caused by: javax.jdo.JDOFatalUserException: StreamCorruptedException: object is corrupted
NestedThrowables:
java.io.StreamCorruptedException: invalid stream header: 47657370
    at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:606)     at org.datanucleus.api.jdo.JDOAdapter.getApiExceptionForNucleusException(JDOAdapter.java:677)     at org.datanucleus.state.StateManagerImpl.isLoaded(StateManagerImpl.java:2929)
    at nl.pocos.dom.doclib.Document.dnGetfile(Document.java)
    at nl.pocos.dom.doclib.Document.getFile(Document.java:86)

I've changed the sqlType to "LONGVARBINARY" but this didn't help. I can't reproduce this issue in the quickstart app. Was there any change in Datanucleus version? Will have another look at the change logs.

Anyone having an idea?

Thanks,
Erik

Reply via email to