JDBC Driver - java.io.EOFException error Opening triggerless Publication state file.

  • 7022988
  • 21-May-2018
  • 21-May-2018

Environment

Identity Manager 4.x
Identity Manager Driver - JDBC

Situation

When attempting to start a JDBC Driver connecting to a Oracle 12c database the driver shuts down  and the following error is received in the driver startup log. (level 3 to file)    java.io.IOError: java.io.EOFException

[05/17/18 13:23:29.300]:JDBC-Driver PT:This driver's GUID:  A9418EFD-5FEF-48A1-E6A7-FD8E41FA234A
[05/17/18 13:23:29.301]:JDBC-Driver PT:Opening triggerless publication state file.
[05/17/18 13:23:29.323]:JDBC-Driver PT:Restricting file Permission for ./jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a.t
[05/17/18 13:23:29.324]:JDBC-Driver PT:Restricting file Permission for ./jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a.p
[05/17/18 13:23:29.324]:JDBC-Driver PT:Restricting file Permission for ./jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a
[05/17/18 13:23:29.331]:JDBC-Driver PT:Unhandled Exception:  java.io.IOError: java.io.EOFException
[05/17/18 13:23:29.332]:JDBC-Driver PT:java.io.IOError: java.io.EOFException
    at org.mapdb.Volume$FileChannelVol.getInt(Volume.java:988)
    at org.mapdb.StoreDirect.checkHeaders(StoreDirect.java:253)
    at org.mapdb.StoreWAL.checkHeaders(StoreWAL.java:115)
    at org.mapdb.StoreDirect.<init>(StoreDirect.java:207)
    at org.mapdb.StoreWAL.<init>(StoreWAL.java:74)
    at org.mapdb.DBMaker.extendStoreWAL(DBMaker.java:981)
    at org.mapdb.DBMaker.makeEngine(DBMaker.java:758)
    at org.mapdb.DBMaker.make(DBMaker.java:701)
    at com.novell.nds.dirxml.driver.jdbc.util.jdbm.JDBMFile.setRecMan(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.util.jdbm.JDBMFile.open(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.util.jdbm.JDBMFileManager.newJDBMFile(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.util.jdbm.JDBMFileManager.getFile(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCChannel.getFile(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCTriggerlessPublicationShim.openTriggerlessFile(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCTriggerlessPublicationShim.beforePoll(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationShim.start(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationProxy.start(Unknown Source)
    at com.novell.nds.dirxml.engine.Publisher.run(Publisher.java:607)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException
    at org.mapdb.Volume$FileChannelVol.readFully(Volume.java:947)
    at org.mapdb.Volume$FileChannelVol.getInt(Volume.java:985)
    ... 18 more

[05/17/18 13:23:29.334]:JDBC-Driver PT:Shutting down...

Resolution

Stop the driver and delete the state files for the driver in the eDirectory DIB directory.   Be careful only to delete the state files, and nothing else.   The state files contain the GUID of the driver object as a name.  

Example of state file names:
jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a.t
jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a.p
jdbc_a9418efd-5fef-48a1-e6a7-fd8e41fa234a

Note:   DO NOT RENAME THE FILES!!!   They are still referenced if they are present in the directory.   Either delete them completely (they will be rebuilt upon driver startup) or move them completely off the server.

Cause

Corrupt triggerless state files.