jonbrouse / docker-ice

A Dockerized version of Ice, Netflix's AWS Usage tool.
Apache License 2.0
169 stars 50 forks source link

parseDateTime in org.joda.time.format.DateTimeFormatter #14

Open CosmicQ opened 8 years ago

CosmicQ commented 8 years ago

I'm having a problem when accessing Ice, none of the graphs come up any more. The docker logs only show this error at the time of access:

ice_1   | | Error 2016-05-10 13:31:46,196 [http-nio-8080-exec-5] ERROR errors.GrailsExceptionResolver  - IllegalArgumentException occurred when processing request: [POST] /ice/dashboard/getData
ice_1   | Invalid format: "". Stacktrace follows:
ice_1   | Message: Invalid format: ""
ice_1   |     Line | Method
ice_1   | ->>  945 | parseDateTime in org.joda.time.format.DateTimeFormatter
ice_1   | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ice_1   | |    407 | doGetData     in com.netflix.ice.DashboardController
ice_1   | |    321 | doCall . . .  in com.netflix.ice.DashboardController$_closure11
ice_1   | |   1145 | runWorker     in java.util.concurrent.ThreadPoolExecutor
ice_1   | |    615 | run . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
ice_1   | ^    745 | run           in java.lang.Thread
ice_1   | 1462887106227

Any ideas? I didn't change anything about the config. This was just after I rebooted the host.

g0ddard commented 8 years ago

I see the same. I've tried it in versions 2.0, 2.1, and current. No data is being displayed and the only error is the following: ice_1 | | Error 2016-05-16 18:18:30,238 [http-nio-8080-exec-9] ERROR errors.GrailsExceptionResolver - IllegalArgumentException occurred when processing request: [POST] /ice/dashboard/getData ice_1 | Invalid format: "". Stacktrace follows: ice_1 | Message: Invalid format: "" ice_1 | Line | Method ice_1 | ->> 945 | parseDateTime in org.joda.time.format.DateTimeFormatter ice_1 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ice_1 | | 407 | doGetData in com.netflix.ice.DashboardController ice_1 | | 321 | doCall . . . in com.netflix.ice.DashboardController$_closure11 ice_1 | | 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor ice_1 | | 615 | run . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker ice_1 | ^ 745 | run in java.lang.Thread

jonbrouse commented 8 years ago

Hmm. Is your timezone set? I've added -Duser.timezone=<Your Timezone ie America/New_York> to the docker-compose file. It might be worth a shot setting your timezone.

g0ddard commented 8 years ago

Same result. The problem is this WAS working last week in our non-production configuration and I discovered the problem when implementing in production. And now, it's not working in non-production either (though I didn't touch that at all). I've tried different browsers to both implementations, too. I'm stymied.

CosmicQ commented 8 years ago

When the container starts, one of the first things it does is fetches some time xml file.

ice_1 | | Loading Grails 2.4.4 ice_1 | | Configuring classpath ice_1 | | Downloading: joda-time/joda-time/maven-metadata.xml ice_1 | | Downloading: joda-time/joda-time/maven-metadata.xml ice_1 | May 20, 2016 6:03:08 PM java.util.prefs.FileSystemPreferences$1 run ice_1 | INFO: Created user preferences directory. ice_1 | | Downloading: joda-time/joda-time/maven-metadata.xml. ice_1 | | Environment set to development

Could that XML file have changed?

CosmicQ commented 8 years ago

Fixed. I noticed that you updated the config file to point to a specific version of high charts.

+ice.highstockUrl=https://code.highcharts.com/stock/4.2.1/highstock.js

Anyone having this problem needs to update their ice.properties file to the versioned url.