Welcome Serena Central users! CLICK HERE
The migration of the Serena Central community is currently underway. Be sure to read THIS MESSAGE to get your new login set up to access your account.
jburns80 Super Contributor.
Super Contributor.
1423 views

JDBC Driver issue

After upgrading our metadirectory engine to 4.7.1 we are having an issue with our jdbc driver connecting. We've updated the driver and remote loader to the latest versions. The error we are receiving is
Message: Code(-9005) The driver returned a "fatal" status indicating that the driver should be shut down. Detail from driver: Premature return from PublicationShim.start()<application>DirXML</application>
<module>ESD JDBC</module>

In the past I've seen this issue and putting all passwords back into the configuration via iManager or Designer has resolved this, however it is not the case this time, we're also seeing an issue where it says a file is locked. Anyone have this issue after upgrading?
Labels (1)
0 Likes
17 Replies
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

Seeing the startup trace, level three (3) or higher), would probably be
useful, specifically from the engine side so we can see if anything is odd
prior to the Remote Loader (RL) connection.

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

Since this site won't let me load the log file unless it's in pieces here is a link to the log.
https://emory.box.com/v/jdbcdriver
0 Likes
Highlighted
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

That site wants me to sign in, but I am pretty sure I lack an account there.

Could you paste the code to something like SUSE Paste, or Pastebin, or
similar, and then provide the link from there to here?

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

This log is about 5mb, the forum here won't post the full log and those two sites mentioned have size limits as well. I'll cut it down and post it in sections here.
0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

That seems a bit big just for a startup, particularly when the Remote
Loader (RL) should not even be connecting.

If you have old data, clear it out, then get JUST the startup until the
-9005 error shows up, and that should be plenty, and I would not expect it
to be many MiBs in size if you are at level three (3). If you are at a
higher trace level, try just level three (3) for this particular attempt.


--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

Well thats the odd thing, if the remote loader isn't running the driver will come on and run, however once it connects to the remote loader it shuts down with one of two errors, one is a publication shim error and the other is a statefile error. I just did a clean restart of the driver without the remote loader running, the driver has started and is running. Logs to follow
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

Here's the paste of the driver start up without the remote loader running.
https://pastebin.com/TfLzmXhs
0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

Okay, at least things look like they are fine up until the Remote Loader
(RL) connection. Do you have the next part, just from when it tries to go
to the RL and the resulting -9005 coming back?

Also, I've never seen anybody using LDAP like this, but I guess it is
supported so long as the server side is okay with it; if this is not what
you meant, then fix it since normally I would expect to see a database
host, port, and DB name here instead:


jdbc:oracle:thin:@ldap://oranamesrvr0.cc.dev1.edu/ESDIMD,cn=OracleContext,dc=dev1,dc=edu


--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

Hmmm..... well, something is weird about your trace; the timestamps are
all lost, so I cannot tell as much as I would like. Was this written
directly to a trace file configured within the driver configuration
object, or was this gathered via something else like ndstrace or iMonitor?
I'm guessing the latter, since that's the only way I know of to
consistently lose timestamps. In the future, please send traces written
directly from one driver object to a dedicated file, as it makes things
much more reliable (ndstrace/iMonitor can lose data if the lines come in
too fast, plus they mess up formatting, do not have good timestamps, etc.).

Back to your issue, the trace seems to confirm that the driver object and
Remote Loader (RL) passwords are fine, and immediately after that the
engine sends the configuration data to the RL which, maybe quickly or
maybe not (no timestamps), hangs up a bit.


<allow-attr attr-name="PRAD_A_BSNS_FAX_FMTT"/>
<allow-attr attr-name="PRSN_N_FULL_DTRY"/>
<allow-attr attr-name="PRSN_N_FRST"/>
<allow-attr attr-name="PRSN_N_INTL_MIDL"/>
<allow-attr attr-name="Internet EMail Address"/>
<allow-attr attr-name="PRSN_N_LAST_DTRY"/>
<allow-attr attr-name="PRAD_A_BSNS_TLPH_FMTT"/>
<allow-attr attr-name="PRSN_E_TITL_DTRY"/>
</allow-class>
</driver-filter>
<publisher-options>
<disable display-name="Disable the Publisher channel?">1</disable>
<publication-mode display-name="Publication Mode(ignore if publisher
disabled):">_</publication-mode>
<log-table display-name="Event log table
name:">NETIQAPO.NETIQ_PRSN_EMPTY</log-table>
<delete-from-log display-name="Delete processed rows?">_</delete-from-log>
<optimize-update display-name="Optimize updates?">_</optimize-update>
<allow-loopback display-name="Allow loopback?">_</allow-loopback>
<disable-locking display-name="Disable statement-level
locking?">0</disable-locking>
<startup-option display-name="Startup option:">_</startup-option>
<handle-future-events display-name="Enable future event
processing?">_</handle-future-events>
<ignore8 display-name="Use custom timestamp statement?">0</ignore8>
<current-timestamp-stmt display-name="Current timestamp
statement:"></current-timestamp-stmt>
<ignore9 display-name="Show polling-related parameters?">show</ignore9>
<polling-interval display-name="Polling interval (in
seconds):">3600</polling-interval>
<time-of-day display-name="Polling time of day:"></time-of-day>
<post-poll-stmt display-name="Post polling statements:"></post-poll-stmt>
<batch-size display-name="Batch size:">_</batch-size>
<query-limit display-name="Query Limit (default 10000):">100</query-limit>
<pub-heartbeat-interval display-name="Heartbeat interval (in
minutes):">60</pub-heartbeat-interval>
</publisher-options>
</init-params>
</input>
<ds>
</publisher-init>
</top>
9.565:JDBC PT:Remote Interface Driver: Document sent.
9.566:JDBC PT:Remote Interface Driver: Waiting for receive...
..101:JDBC ST:SubscriptionShim.execute() returned:
..101:JDBC ST:
<nds dtdversion="4" ndsversion="8.x">
<output>
<status event-id="query-driver-ident" level="retry" type="remoteloader">No
connection to remote loader</status>
</output>



Notice the XML is sent (that XML looks broken too, probably because of
using ndstrace or else some cleanup you did after the fact) and the next
thing we get is a "No connection to remote loader" message. Something
about the XML sent is presumably bad. I suppose at this point the RL
trace may be useful, and while level three (3) is the minimum we need, we
may want to try level (5) just for fun. Higher levels are also available
for the JDBC driver, but they are usually (in my experience anyway) not
helpful for this type of issue. Still, whatever you want to send is fine.

My wild guess at this point is something like the database name, or the
table name, or rights to the table, or credentials for the Oracle DB
itself, is wrong, though in most cases I would expect a better response.
Maybe having the timestamps there properly will give us a clue; if there
is a minute-long gap between when the XML is sent and when we get the
error back, perhaps there is a connection issue between the RL and the
database service.

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.
0 Likes
jburns80 Super Contributor.
Super Contributor.

Re: JDBC Driver issue

I did remove the timestamps in order to make the file fit pastbins requirements. I don't see any large discrepency in the timestamps, I've double checked the connection string using sql developer and it works, I'm working every angle right now. I'll get the remote loader trace and see if that provides more information. Definitely seems like it's the remote loader and not the driver, the driver will function if the remote loader is not started.
0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

On 10/25/2018 9:44 AM, jburns80 wrote:
>
> I did remove the timestamps in order to make the file fit pastbins
> requirements. I don't see any large discrepency in the timestamps, I've
> double checked the connection string using sql developer and it works,
> I'm working every angle right now. I'll get the remote loader trace and
> see if that provides more information. Definitely seems like it's the
> remote loader and not the driver, the driver will function if the remote
> loader is not started.


Bind to the LDAP directory specified in your connect string, read the
connect info, test if you can connect with that info, alas, you probably
should not run with that.

It is POSSIBLE that the latest JDBC regressed this functionality, but I
THINK that was in the Oracle JDBC driver, not in the IDM shim itself.


0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

On 10/23/2018 2:29 PM, ab wrote:
> Okay, at least things look like they are fine up until the Remote Loader
> (RL) connection. Do you have the next part, just from when it tries to go
> to the RL and the resulting -9005 coming back?
>
> Also, I've never seen anybody using LDAP like this, but I guess it is
> supported so long as the server side is okay with it; if this is not what
> you meant, then fix it since normally I would expect to see a database
> host, port, and DB name here instead:
>
>

> jdbc:oracle:thin:@ldap://oranamesrvr0.cc.dev1.edu/ESDIMD,cn=OracleContext,dc=dev1,dc=edu
>


Oh ya, I helped them with this one.

So this is a bizarre Oracle notion of how you might do service discovery

They have an LDAP directory, consisting of mostl references to
databases. So you look in that irectory, and find your instance, which
truly is named that goofy (no qualifier on the leafmost node) way, and
it returns the sort of stuff a TNSNAMES file would have returned, or a
connect string you would have normally entered.

It does work, as goofy as it seems. Or did.


0 Likes
Knowledge Partner
Knowledge Partner

Re: JDBC Driver issue

On 10/22/2018 2:54 PM, jburns80 wrote:
>
> Well thats the odd thing, if the remote loader isn't running the driver
> will come on and run, however once it connects to the remote loader it
> shuts down with one of two errors, one is a publication shim error and
> the other is a statefile error. I just did a clean restart of the
> driver without the remote loader running, the driver has started and is
> running. Logs to follow


So the Main, Pub, and Sub functions in the shims, run in the Shim
instance, which in an RL case is entirely on the RL side, not the engine
side. So once you connect, the shim starts and fails.

Trace is key, as always.

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.