Migration Troubleshooting
After updating the client there are org.sqlite.SQLiteException
exceptions being thrown coming from the DefaultNotificationReceiver
2025-08-11T18:55:35.885Z WARNING thread=8120 [{receiver}] exception while parsing URLNotification
org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] A NOT NULL constraint failed (NOT NULL constraint failed: index.tracker_url)
at org.sqlite.core.DB.newSQLException(DB.java:1135)
at org.sqlite.core.DB.newSQLException(DB.java:1146)
at org.sqlite.core.DB.execute(DB.java:941)
at org.sqlite.core.DB.executeUpdate(DB.java:1010)
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:95)
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:81)
at gov.usgs.earthquake.distribution.JDBCNotificationIndex.addNotification(JDBCNotificationIndex.java:497)
In the newest version of the client, the tracker_url field was removed. This problem can be resolved with the following steps:
1. Stop the client
2. Locate the config section that defines the index of the receiver
The index is defined with the indexFile
property
# Example receiver config
receivers = receiver_eids
[receiver_eids]
type = gov.usgs.earthquake.distribution.EIDSNotificationReceiver
alternateServres = prod02-pdl01.cr.usgs.gov:39977
indexFile = some/path/to/file.db
maxServerEventAgeDays = 7.0
storage = receiver_storage
serverHost = prod01-pdl01.cr.usgs.gov
serverPort = 39977
trackingfile = eids_tracking.dat
3. Rename (or remove) the file specified
4. Start the client
The client will recreate the file with the correct schema.
After updating the client there are org.sqlite.SQLiteException
exceptions being thrown coming from the DefaultNotificationListener
2025-08-12T16:00:03.946Z INFO thread=66 [urn:usgs-product:source:type:code:updatetime Listener Task] Exception executing task
org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] A NOT NULL constraint failed (NOT NULL constraint failed: index.tracker_url)
at org.sqlite.core.DB.newSQLException(DB.java:1135)
at org.sqlite.core.DB.newSQLException(DB.java:1146)
at org.sqlite.core.DB.execute(DB.java:941)
at org.sqlite.core.DB.executeUpdate(DB.java:1010)
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:95)
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:81)
at gov.usgs.earthquake.distribution.JDBCNotificationIndex.addNotification(JDBCNotificationIndex.java:497)
at gov.usgs.earthquake.distribution.DefaultNotificationListener.onAfterProcessNotification(DefaultNotificationListener.java:250)
at gov.usgs.earthquake.distribution.DefaultNotificationListener.onNotification(DefaultNotificationListener.java:144)
In the newest version of the client, the tracker_url field was removed. This problem can be resolved with the following steps:
1. Stop the client
2. Locate the config section that defines the index of the listener
The index is defined with the listenerIndexFile
property
# Example listener config
listeners = indexer
[external_listener]
type = gov.usgs.earthquake.distribution.ExternalNotificationListener
listenerIndexFile = some/path/to/file.db
command = /bin/echo
storage = listener_storage
3. Rename (or remove) the file specified
4. Start the client
The client will recreate the file with the correct schema.
The logs are filled with Connection init error
messages and I’m unable to receive products using an EIDSNotificationReceiver
[Warning] Connection init error: Error creating CORBA ORB or POA: org.omg.CORBA.INITIALIZE: Unable to initialize orb loader (java.lang.ExceptionInInitializerError)
org.omg.CORBA.INITIALIZE: Unable to initialize orb loader (java.lang.ExceptionInInitializerError)
at org.openorb.orb.core.ORB.set_parameters(ORB.java:1127)
at org.omg.CORBA.ORB.init(ORB.java:296)
at com.isti.openorbutil.OrbManager.initImplementation(OrbManager.java:260)
at com.isti.openorbutil.OrbManager.initImplementation(OrbManager.java:311)
at com.isti.quakewatch.util.QWCorbaConnector$EventChannelConnectThread.connect(QWCorbaConnector.java:1311)
at com.isti.quakewatch.util.QWCorbaConnector$EventChannelConnectThread.run(QWCorbaConnector.java:1197)
Caused by: java.lang.ExceptionInInitializerError
at org.openorb.orb.config.OpenORBLoader.<clinit>(OpenORBLoader.java:64)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
This issue occurs when an EIDSNotificationReceiver
is configured. With the update to Java 17, the following --add-opens
flag must be added to the Java command in order for this type of receiver to work
1
java --add-opens java.base/java.lang=ALL-UNNAMED -jar ProductClient.jar --receive
Last modified: Wed Aug 13 14:51:47 UTC 2025