EmailReader

Hi,

I have a problem for several weeks with EmailReader component.
I created a graph where I read emails, it is working if I use JRE 1.7 but using JRE 1.8 I go in an infinite loop.

Any idea what is the issue?

Thank you,
Adrian

JRE7 LOG:

15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG: setDebug: JavaMail version 1.5.1
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle]
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: mail.imap.fetchsize: 16384
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: mail.imap.ignorebodystructuresize: false
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: mail.imap.statuscachetimeout: 1000
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: mail.imap.appendbuffersize: -1
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: mail.imap.minidletime: 10
15:14:53,174 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: trying to connect to host “xxx.xxx.com”, port 993, isSSL true
15:14:53,846 DEBUG [EMAIL_READER_7] IMAPS session: * OK server ready. Unauthorized Access Prohibited.
15:14:53,846 DEBUG [EMAIL_READER_7] IMAPS session: A0 CAPABILITY
15:14:54,002 DEBUG [EMAIL_READER_7] IMAPS session: * CAPABILITY IMAP4REV1 IDLE AUTH=PLAIN
15:14:54,002 DEBUG [EMAIL_READER_7] IMAPS session: A0 OK CAPABILITY completed
15:14:54,002 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: AUTH: PLAIN
15:14:54,002 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: protocolConnect login, host=xxx.xxx.com, user=xxx.xxx@xxx.com, password=
15:14:54,002 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: AUTHENTICATE PLAIN command trace suppressed
15:14:54,346 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: AUTHENTICATE PLAIN command result: A1 OK AUTHENTICATE completed
15:14:54,346 DEBUG [EMAIL_READER_7] IMAPS session: A2 CAPABILITY
15:14:54,502 DEBUG [EMAIL_READER_7] IMAPS session: * CAPABILITY IMAP4REV1 IDLE AUTH=PLAIN
15:14:54,502 DEBUG [EMAIL_READER_7] IMAPS session: A2 OK CAPABILITY completed
15:14:54,502 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: AUTH: PLAIN
15:14:54,502 DEBUG [EMAIL_READER_7] IMAPS session: DEBUG IMAPS: connection available – size: 1
15:14:54,502 DEBUG [EMAIL_READER_7] IMAPS session: A3 EXAMINE RSM
15:14:54,674 DEBUG [EMAIL_READER_7] IMAPS session: * 2 EXISTS
15:14:54,674 DEBUG [EMAIL_READER_7] IMAPS session: * 2 RECENT

JRE8 LOG:

15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG: setDebug: JavaMail version 1.5.1
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle]
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: mail.imap.fetchsize: 16384
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: mail.imap.ignorebodystructuresize: false
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: mail.imap.statuscachetimeout: 1000
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: mail.imap.appendbuffersize: -1
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: mail.imap.minidletime: 10
15:16:45,785 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: trying to connect to host “xxx.xxx.com”, port 993, isSSL true
15:16:46,894 DEBUG [EMAIL_READER_1] IMAPS session: * OK server ready. Unauthorized Access Prohibited.
15:16:46,894 DEBUG [EMAIL_READER_1] IMAPS session: A0 CAPABILITY
15:16:47,050 DEBUG [EMAIL_READER_1] IMAPS session: * CAPABILITY IMAP4REV1 IDLE AUTH=PLAIN
15:16:47,050 DEBUG [EMAIL_READER_1] IMAPS session: A0 OK CAPABILITY completed
15:16:47,050 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: AUTH: PLAIN
15:16:47,066 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: protocolConnect login, host=xxx.xxx.com, user=xxx.xxx@xxx.com, password=
15:16:47,066 DEBUG [EMAIL_READER_1] IMAPS session: DEBUG IMAPS: AUTHENTICATE PLAIN command trace suppressed

Hi Adrian,
I was trying to replicate the behavior of the EmailReader component with JRE 1.8 that you reported but I never ended up in an infinite loop during the testing. This leads me to believe that the core issue might be related to your specific setup. In order to pinpoint the problem, please get back to me in regards to the following questions:

  • What is your CloverETL Designer version? (for instance 4.8.2) Note: If you are using CloverETL Server as well and this issue concerns a server project, please let me also know the version of CloverETL Server.

  • Is the JRE 1.8 (that you referred to in your question) the very JRE that comes with the CloverETL Designer installation by default?

  • Could you attach the graph that contains the EmailReader component in question so that I can review the setup? If you are not comfortable sharing the graph on the forum, please get back to me at least in regards to these questions:
    [list=a:2zm7r130][*:2zm7r130]Do you have an input port connected to the EmailReader component?

  • If so, could you provide us with a sample input data that are fed to the EmailReader?

  • If not and you are not reading emails locally, please provide me with some basic properties of the EmailReader regarding the server (server type, server name, server port, security, fetch messages, field mapping, source folder, mark/delete messages, max. number of messages)
    [/*:m:2zm7r130]

  • You mentioned that the problem had been appearing for several weeks. Could you be more specific in terms of the occurrence? Did it start happening right after you switched from JRE 1.7 to JRE 1.8?

  • Does the graph end up in the loop every time it runs with JRE 1.8 or does it happen intermittently?

  • If you run the same graph (that hangs with JRE 1.8) with JRE 1.7 without any other changes to the setup, will it always work properly?
    [/list:o:2zm7r130]
    Kind regards,

Hi,

Please find below the answers:
1. I am using Version: 3.2.0 r1030559
2. I am using the latest Java version 1.8.0161
3. Attached you can find a part of the graph that I am using.
4. Yes, the problem is from when I installed the new 1.8 Java version. In order to keep the graph working I have also 1.7 installed and I am using the option “Alternate JRE” in CloverETL → ETL Runtime.
5. Every time I use 1.8 I get the loop.
6. Yes, only switching from 1.8 to 1.7 without changing anything else the graph reads my email.

Thank a lot,
Adrian

Hello Adrian,
I am afraid that the issue is caused by the obsolescence of your CloverETL Designer. The 3.2.0 version has been at its End-of-Life for a long time now which means we no longer provide technical support or bugfixes and we do not guarantee compatibility with new versions of Java. I would strongly recommend upgrading to the latest production version which is 4.8.2, not only to get the support for Java 8 but also to get many new features, bugfixes and security enhancements that were developed on the way from 3.2.0 to 4.8.2.
Kind regards,