gerritjvv / bigstreams

bigstreams big data kafka hadoop and file based imports
Eclipse Public License 1.0
3 stars 3 forks source link

agent number format exception #48

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
java.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.java:131)java.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.jajava.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingjavaThread.java:177)
    at org.streams.agent.filjava.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at java.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.java:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
java.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at java.lang.NumberFormatException: For input string: "E.21106E2"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at java.text.DigitList.getDouble(DigitList.java:151)
    at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
    at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
    at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
    at java.text.DateFormat.parse(DateFormat.java:335)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:46)
    at org.streams.commons.file.impl.SimpleFileDateExtractor.parse(SimpleFileDateExtractor.java:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.java:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.ja
va:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.ja
va:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
e.impl.DirectoryPollingThread.run(DirectoryPollingThread.java:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
va:58)
    at org.streams.agent.file.impl.DirectoryPollingThread.createFileStatus(DirectoryPollingThread.java:177)
    at org.streams.agent.file.impl.DirectoryPollingThread.run(DirectoryPollingThread.java:131)
    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

    at org.streams.agent.file.impl.ThreadedDirectoryWatcher$1.run(ThreadedDirectoryWatcher.java:47)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

Original issue reported on code.google.com by gerritjvv@gmail.com on 13 Jun 2011 at 5:40

GoogleCodeExporter commented 8 years ago
This errors is due to SimpleDateFormat not being threadsafe. 
The class SimpleFileDateExtractor is used as a singleton by the agent code and 
its method parse(fileName:String):Date uses the SimpleDateFormat without 
synchronization.

The fix is to use the clone method on the dateformat before parsing.

Original comment by gerritjvv@gmail.com on 14 Jun 2011 at 7:46

GoogleCodeExporter commented 8 years ago

Original comment by gerritjvv@gmail.com on 14 Jun 2011 at 8:02