File polling port disables itself, comparison method violates its general contract

We have been having an issue on a very high volume file polling port, where the port will disable itself.

The IS logs don’t show anything, but in the profiles/IS_default/logs folder, I see this stack trace:

INFO | jvm 1 | 2017/02/16 16:38:11 | java.lang.IllegalArgumentException: Comparison method violates its general contract!
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.TimSort.mergeHi(TimSort.java:879)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.TimSort.mergeAt(TimSort.java:496)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.TimSort.mergeCollapse(TimSort.java:419)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.TimSort.sort(TimSort.java:225)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.TimSort.sort(TimSort.java:184)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.Arrays.sort(Arrays.java:670)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.util.Collections.sort(Collections.java:228)
INFO | jvm 1 | 2017/02/16 16:38:11 | at com.wm.ff.net.FileUtil.getFiles(FileUtil.java:138)
INFO | jvm 1 | 2017/02/16 16:38:11 | at com.wm.ff.net.FileUtil.getFiles(FileUtil.java:69)
INFO | jvm 1 | 2017/02/16 16:38:11 | at com.wm.ff.net.FilePollingListener.addFiles(FilePollingListener.java:385)
INFO | jvm 1 | 2017/02/16 16:38:11 | at com.wm.ff.net.FilePollingListener.execute(FilePollingListener.java:360)
INFO | jvm 1 | 2017/02/16 16:38:11 | at com.wm.ff.net.FilePollingListener.loop(FilePollingListener.java:338)
INFO | jvm 1 | 2017/02/16 16:38:11 | at wm.server.net.Listener.run(Listener.java:418)
INFO | jvm 1 | 2017/02/16 16:38:11 | at java.lang.Thread.run(Thread.java:804)

The files being picked up by this port are created by Java code, which first creates them with at “.temp” filename, then renames them to match the port’s configured extension. So I can’t figure out what could cause this error to occur.

Relevant options on the port:
file name filter: *.xml
file age: 10 seconds
recursive: no
clustering: yes
lock: .lock
interval: 10 seconds
nfs: yes

The server is running on IBM AIX, filesystem type is jfs2.

We have applied FlatFileFix9.6_FIX4 and IS9.6_CoreFix9.

Any help anybody can provide would be most welcome!

1 Like

Hi Trevor,

What is the package on which you created the file polling port?

Please increase the logging level of IS logs and try to see if you are seeing any error?

Regards,
Syed Faraz Ahmed

The package is one we have created that holds all of our file polling ports, called DSG_FilePollingPorts. There is no code in this package.

As for logs, is there one you recommend to turn up? The issue is that this occurs unpredictably, and on a very high volume system.

Are there multiple file polling ports associated with the same package?
Also, Are you seeing the issue with all the ports associated with the package or only with specific ports?

Regards,
Syed Faraz Ahmed

There are many ports associated with this package. We only see the issue on a couple ports, which both see very high file counts (20,000+ at times).

I would suggest open up a SAG support incident as it sounds to me a system level issue or they could either troubleshoot when it happens again and debug along for permanent resolution or this might have already addressed for the IS version you are on.

HTH,
RMG

Thanks, I’ve requested to have an issue logged via my third party license provider.

OK cool… please keep this thread posted!

Rightly suggested…

@Trevor: please keep us informed on the issue :slight_smile:

Regards,
Syed Faraz Ahmed