[
https://issues.jboss.org/browse/ISPN-1514?page=com.atlassian.jira.plugin....
]
Gustavo Muzzillo commented on ISPN-1514:
----------------------------------------
Hi Team this issue is back on 5.1.0.CR1
please check the stac trace below:
03:01:58,201 INFO [STDOUT] 03:01:58,201 WARN [ConfigContext] HSEARCH000075:
Configuration setting hibernate.search.lucene_version was not specified, using
LUCENE_CURRENT.
03:01:58,936 INFO [STDOUT] 03:01:58,936 WARN [GenericTransactionManagerLookup]
ISPN000104: Falling back to DummyTransactionManager from Infinispan
03:02:01,370 INFO [STDOUT] 03:02:01,370 INFO [JGroupsTransport] ISPN000078: Starting
JGroups Channel
03:02:08,699 INFO [STDOUT] 03:02:08,699 INFO [JGroupsTransport] ISPN000094: Received new
cluster view: [DYP-22233|0] [DYP-22233]
03:02:08,704 INFO [STDOUT] 03:02:08,704 INFO [JGroupsTransport] ISPN000079: Cache local
address is DYP-22233, physical addresses are [127.0.0.1:53565]
03:02:08,751 INFO [STDOUT] 03:02:08,751 INFO [GlobalComponentRegistry] ISPN000128:
Infinispan version: Infinispan 'Brahma' 5.1.0.CR1
....
03:03:15,766 INFO [STDOUT] 03:03:15,761 ERROR [JdbcUtil] ISPN008009: I/O error while
unmarshalling from stream
java.io.EOFException: Read past end of file
at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:126)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByteDirect(SimpleDataInput.java:263)
at org.jboss.marshalling.SimpleDataInput.readUnsignedByte(SimpleDataInput.java:224)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:161)
at
org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:149)
at
org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:384)
at
org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at org.infinispan.loaders.bucket.Bucket$Externalizer.readObject(Bucket.java:152)
at org.infinispan.loaders.bucket.Bucket$Externalizer.readObject(Bucket.java:134)
at
org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:384)
at
org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:120)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:115)
at
org.infinispan.marshall.AbstractMarshaller.objectFromInputStream(AbstractMarshaller.java:112)
at
org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromInputStream(AbstractDelegatingMarshaller.java:59)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
at
org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.purgeInternal(JdbcBinaryCacheStore.java:356)
at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:106)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
03:03:15,767 INFO [STDOUT] 03:03:15,767 ERROR [AbstractCacheStore] ISPN000045: Problems
encountered while purging expired
org.infinispan.loaders.CacheLoaderException: I/O error while unmarshalling from stream
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:91)
at
org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.purgeInternal(JdbcBinaryCacheStore.java:356)
at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:106)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException: Read past end of file
at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:126)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByteDirect(SimpleDataInput.java:263)
at org.jboss.marshalling.SimpleDataInput.readUnsignedByte(SimpleDataInput.java:224)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:161)
at
org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:149)
at
org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:384)
at
org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at org.infinispan.loaders.bucket.Bucket$Externalizer.readObject(Bucket.java:152)
at org.infinispan.loaders.bucket.Bucket$Externalizer.readObject(Bucket.java:134)
at
org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:384)
at
org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:120)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:115)
at
org.infinispan.marshall.AbstractMarshaller.objectFromInputStream(AbstractMarshaller.java:112)
at
org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromInputStream(AbstractDelegatingMarshaller.java:59)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
... 5 more
cache configuration follows:
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:5.0
http://www.infinispan.org/schemas/infinispan-config-5.0.xsd"
xmlns="urn:infinispan:config:5.0">
<global>
<transport>
<properties>
<property name="configurationFile" value="jgroups-udp.xml"
/>
</properties>
</transport>
</global>
<default>
<locking
lockAcquisitionTimeout="20000"
writeSkewCheck="false"
concurrencyLevel="5000"
useLockStriping="false" />
<clustering mode="local">
<stateRetrieval alwaysProvideInMemoryState="true"
fetchInMemoryState="false"/>
</clustering>
<indexing enabled="true" indexLocalOnly="true">
<properties>
<property name="hibernate.search.default.directory_provider"
value="filesystem" />
<property name="hibernate.search.default.indexBase"
value="/storage/indexer"/>
</properties>
</indexing>
<invocationBatching enabled="true" />
<storeAsBinary enabled="true" />
<transaction
transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
syncRollbackPhase="false"
syncCommitPhase="false"
useEagerLocking="false"
/>
</default>
<namedCache name="GLOBAL_CACHE">
<loaders>
<loader class="org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore"
fetchPersistentState="false" ignoreModifications="false"
purgeOnStartup="false">
<properties>
<property name="bucketTableNamePrefix"
value="ISPN_BUCKET_TABLE"/>
<property name="idColumnName" value="ID_COLUMN"/>
<property name="dataColumnName"
value="DATA_COLUMN"/>
<property name="timestampColumnName"
value="TIMESTAMP_COLUMN"/>
<property name="timestampColumnType"
value="NUMBER"/>
<property name="connectionFactoryClass"
value="org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory"/>
<property name="connectionUrl"
value="jdbc:oracle:thin:@127.0.0.1:1521:MyDB"/>
<property name="userName" value="xxxx"/>
<property name="password" value="xxxxx" />
<property name="driverClass"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="idColumnType" value="VARCHAR(255)"/>
<property name="dataColumnType" value="BLOB"/>
<property name="dropTableOnExit" value="false"/>
<property name="createTableOnStart" value="true"/>
</properties>
</loader>
</loaders>
<eviction strategy="FIFO" maxEntries="20480" />
<expiration maxIdle="-1" lifespan="-1"
wakeUpInterval="60000"/>
<jmxStatistics enabled="true" />
<deadlockDetection enabled="true" />
<storeAsBinary enabled="true"/>
<indexing enabled="true" indexLocalOnly="true">
<properties>
<property name="hibernate.search.default.directory_provider"
value="filesystem" />
<property name="hibernate.search.default.indexBase"
value="/storage/indexer"/>
</properties>
</indexing>
</namedCache>
</infinispan>
Protect against InputStream providers that do not implement
available()
-----------------------------------------------------------------------
Key: ISPN-1514
URL:
https://issues.jboss.org/browse/ISPN-1514
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 5.0.1.FINAL, 5.1.0.BETA3
Environment: Oracle Driver version 10.2.0.5.0
Reporter: Thomas Fromm
Assignee: Galder Zamarreño
Fix For: 5.1.0.BETA5, 5.1.0.FINAL
Attachments: AbstractMarshaller.patch
Unmarshalling of value with oracle driver fails with:
2011-11-09 14:57:59,490 [ERROR] org.infinispan.loaders.jdbc.JdbcUtil - ISPN008009: I/O
error while unmarshalling from stream
java.io.EOFException: Read past end of file
at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:126)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByteDirect(SimpleDataInput.java:263)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByte(SimpleDataInput.java:224)
at
org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1182)
at
org.infinispan.marshall.jboss.AbstractJBossMarshaller.startObjectInput(AbstractJBossMarshaller.java:113)
at
org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:156)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:112)
at
org.infinispan.marshall.AbstractMarshaller.objectFromInputStream(AbstractMarshaller.java:104)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
at E04.main(E04.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.inubit.ibis.configuration.Bootstrap.main(Bootstrap.java:66)
org.infinispan.loaders.CacheLoaderException: I/O error while unmarshalling from stream
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:91)
at E04.main(E04.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.inubit.ibis.configuration.Bootstrap.main(Bootstrap.java:66)
Caused by: java.io.EOFException: Read past end of file
at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:126)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByteDirect(SimpleDataInput.java:263)
at
org.jboss.marshalling.SimpleDataInput.readUnsignedByte(SimpleDataInput.java:224)
at
org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1182)
at
org.infinispan.marshall.jboss.AbstractJBossMarshaller.startObjectInput(AbstractJBossMarshaller.java:113)
at
org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:156)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:112)
at
org.infinispan.marshall.AbstractMarshaller.objectFromInputStream(AbstractMarshaller.java:104)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
... 6 more
Solution:
In AbstractMarshaller.objectFromInputStream is assumed, that the available() method from
the incoming InputStream returns the size of data.
But this is optional, so the InputStream from the oracle driver returns 0. So
implementation of objectFromInputStream must be changed to avoid usage of available().
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira