Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
BipinNS
Contributor II
Contributor II

tmomconnection disconnect while using keep listening mode

We have a job design wherein two tmominput are running in tparralize , with keep listening mode.

Since keep listening is blocking in nature the job control flow stays at tmominput.

Have below scenario to be handled:

- scrnario1 : whenever one of the tmominput parallel job disconnects due to error, need to identify which one got disconnected​, apparently its tricky to identify that , tried using another tparrallel thread which gets invoked when one of the two threads fail

scenario2- : whenever one of the tmominput thread fails , explicity disconnect another tmominput thread, tried this with tcommit in the another parallel thread mentioned above but seems disconnecting gets stuck unless there is a message in the tmominput

Note: already tried with dropping a message to tmominput, but exploring if there is a more direct way.

​could anyone please advise on this

Labels (3)
2 Replies
anselmopeixoto
Partner - Creator III
Partner - Creator III

Hi @Bipin Shakya​ 

 

I suggest you try the following:

 

Scenario 1: use a tLogCatcher on your job. The "origin" column of tLogCatcher component will tell the component that resulted in an error.

 

Scenario 2: connect each tMomInput to a tDie component using OnComponentError Trigger. On tDie component advanced settings, enable the option "Exit the JVM immediately".

BipinNS
Contributor II
Contributor II
Author

Thanks for the response.

 

I tried implementing as you've advised, had below observations:

  • when using OnComponentError for both tmompinut flow in tparallize, actually either tmompinput flow can fail at other connected downstream components as well. I tried testing with OnSubjectError to capture any failure to the entire flow, but noticed that some errors are not even captured like jvm out of memory error when happens, its not caputured in OnSubjectError as well as in tLogCatcher. Could there be a more accurate way to capture all the failures.
  • tLogCatcher when gets invoked is useful , gives the origin component

 

 

Please refer to below snapshot of the sample job for my scenario:

  • whenever one of the tMomInput disconnects, can capture that using (Wait for first). But without ending the jvm, is there a way to explictly disconnect the tmominput connection, so that only the tparallelize ends.

 

0695b00000lvqA5AAI.png