[ 
https://issues.apache.org/jira/browse/DERBY-6128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611139#comment-13611139
 ] 

Rick Hillegas commented on DERBY-6128:
--------------------------------------

Here is a first triage pass through these classes. Only a handful require a 
second pass. They are:

org.apache.derby.impl.io.DirFile
org.apache.derby.impl.io.DirFile4
org.apache.derby.impl.store.raw.data.AllocExtent
org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource40
org.apache.derby.security.DatabasePermission
org.apache.derby.drda.NetServlet
org.apache.derby.impl.tools.ij.ijXid

The others look harmless to me. That is, I don't see any exposure because they 
don't declare explicit serialVersionUIDs. My analysis follows.

Legend:

  ACCIDENT: Never serialized. Serializable because the class extends a 
Serializable JRE class.
  EX: Exception. These aren't serialized.
  HAS: Actually has a serialVersionUID.
  TEST: Test code, not critical.


EX: org.apache.derby.iapi.error.PassThroughException
EX: org.apache.derby.iapi.error.ShutdownException
EX: org.apache.derby.iapi.error.StandardException$BadMessageArgumentException
EX: org.apache.derby.iapi.error.StandardException
ACCIDENT: org.apache.derby.iapi.services.cache.ClassSizeCatalog
ACCIDENT: org.apache.derby.iapi.services.classfile.Attributes
EX: org.apache.derby.iapi.services.io.DerbyIOException
EX: org.apache.derby.iapi.services.sanity.AssertFailure
ACCIDENT: org.apache.derby.iapi.sql.depend.ProviderList
ACCIDENT: org.apache.derby.iapi.sql.dictionary.ColumnDescriptorList
ACCIDENT: org.apache.derby.iapi.sql.dictionary.ConglomerateDescriptorList
ACCIDENT: org.apache.derby.iapi.sql.dictionary.ConstraintDescriptorList
ACCIDENT: org.apache.derby.iapi.sql.dictionary.GenericDescriptorListo
ACCIDENT: org.apache.derby.iapi.util.DoubleProperties
EX: org.apache.derby.iapi.util.InterruptDetectedException
EX: org.apache.derby.impl.jdbc.EmbedSQLException
ACCIDENT: org.apache.derby.impl.services.monitor.UpdateServiceProperties
EX: org.apache.derby.impl.sql.compile.ParseException
EX: org.apache.derby.impl.sql.compile.SQLParser$LookaheadSuccess
EX: org.apache.derby.impl.sql.compile.TokenMgrError
EX: org.apache.derby.impl.store.access.btree.WaitError
EX: org.apache.derby.impl.store.raw.data.LongColumnException
EX: org.apache.derby.impl.store.raw.data.NoSpaceOnPage
EX: org.apache.derby.impl.store.replication.buffer.LogBufferFullException
EX: org.apache.derby.shared.common.sanity.AssertFailure
HAS: org.apache.derby.vti.Restriction$AND
HAS: org.apache.derby.vti.Restriction$ColumnQualifier
HAS: org.apache.derby.vti.Restriction$OR
EX: org.apache.derby.client.am.ColumnTypeConversionException
EX: org.apache.derby.client.am.DisconnectException
EX: org.apache.derby.client.am.OutsideRangeForDataTypeException
EX: org.apache.derby.client.am.SqlException
EX: org.apache.derby.client.am.SqlWarning
EX: org.apache.derby.client.am.XaException
ACCIDENT: 
org.apache.derby.client.am.stmtcache.JDBCStatementCache$BoundedLinkedHashMap
ACCIDENT: org.apache.derby.client.net.CodePointNameTable
EX: org.apache.derby.shared.common.sanity.AssertFailure
ACCIDENT: org.apache.derby.impl.drda.CodePointNameTable
EX: org.apache.derby.impl.drda.DRDAProtocolException
EX: org.apache.derby.impl.drda.DRDASocketTimeoutException
EX: org.apache.derby.impl.tools.ij.mtGrammar$LookaheadSuccess
TEST: org.apache.derbyTesting.functionTests.harness.SimpleDiff$DiffBuffer
TEST: 
org.apache.derbyTesting.functionTests.tests.jdbcapi.SetQueryTimeoutTest$TestFailedException
TEST: org.apache.derbyTesting.functionTests.tests.jdbcapi.cdsXid
TEST: org.apache.derbyTesting.functionTests.tests.lang.FakeByteArray
TEST: org.apache.derbyTesting.functionTests.tests.lang.FullName
TEST: 
org.apache.derbyTesting.functionTests.tests.lang.GenericMode$BigDecimalMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$BigintMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$BooleanMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$DoubleMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$FullNameMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$IntMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$RealMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$ShortMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode$StringMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.GenericMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.IntArray
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$BinaryMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$BlobMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$ClobMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$DateMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$TimeMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode$TimestampMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LobMode
TEST: org.apache.derbyTesting.functionTests.tests.lang.LongMagnitude
TEST: org.apache.derbyTesting.functionTests.tests.lang.ModeAggregate$Accumulator
TEST: org.apache.derbyTesting.functionTests.tests.lang.ModeAggregate
TEST: org.apache.derbyTesting.functionTests.tests.lang.Price
TEST: org.apache.derbyTesting.functionTests.util.ManyMethods
TEST: org.apache.derbyTesting.functionTests.util.ProtocolTestGrammar
TEST: org.apache.derbyTesting.functionTests.util.ShortHolder
TEST: org.apache.derbyTesting.functionTests.util.SubClass
TEST: org.apache.derbyTesting.functionTests.util.SubInterfaceClass
TEST: org.apache.derbyTesting.functionTests.util.SubSubClass
TEST: org.apache.derbyTesting.junit.utilXid
TEST: org.apache.derbyTesting.unitTests.harness.T_Fail
TEST: org.apache.derbyTesting.unitTests.services.T_CacheException
TEST: org.apache.derbyTesting.unitTests.services.T_StandardException
EX: org.apache.derby.impl.tools.ij.ParseException
EX: org.apache.derby.impl.tools.ij.TokenMgrError
EX: org.apache.derby.impl.tools.ij.ij$LookaheadSuccess
EX: org.apache.derby.impl.tools.ij.ijException
EX: org.apache.derby.impl.tools.ij.ijFatalException
EX: org.apache.derby.impl.tools.ij.ijTokenException

                
> Examine Derby classes to determine if we need to add serialVersionUID to any 
> of them
> ------------------------------------------------------------------------------------
>
>                 Key: DERBY-6128
>                 URL: https://issues.apache.org/jira/browse/DERBY-6128
>             Project: Derby
>          Issue Type: Task
>            Reporter: Rick Hillegas
>         Attachments: SerializableLister.java
>
>
> The discussion on DERBY-6124 has raised the possibility that we may need to 
> add serialVersionUIDs to some serializable Derby classes. Without the 
> serialVersionUIDs, Derby may encounter deserialization errors on objects 
> which were serialized by one version of Derby or the JVM and then 
> deserialized by another version of Derby or the JVM.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to