Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialization failure on tariff publication #216

Closed
jecollins opened this issue May 9, 2011 · 2 comments
Closed

Serialization failure on tariff publication #216

jecollins opened this issue May 9, 2011 · 2 comments

Comments

@jecollins
Copy link
Member

Here's what I see in the server log when the default tariffs get published (at the 6-hour mark):

2011-05-08 21:05:46,389 [quartzScheduler_Worker-5] INFO tariffmarket.TariffMarketService - publishing 2 new tariffs
[org.powertac.common.Tariff : 1, org.powertac.common.Tariff : 2]
[org.powertac.common.Tariff : 1, org.powertac.common.Tariff : 2]
2011-05-08 21:05:46,427 [quartzScheduler_Worker-5] INFO core.JobRunShell - Job GRAILS_JOBS.org.powertac.common.ClockDriveJob threw a Job
ExecutionException:
org.quartz.JobExecutionException: Explicit selected converter cannot handle item
---- Debugging information ----
item-type : org.powertac.common.Broker_$$javassist_64
converter-type : com.thoughtworks.xstream.converters.SingleValueConverterWrapper
------------------------------- [See nested exception: com.thoughtworks.xstream.converters.ConversionException: Explicit selected converte
r cannot handle item
---- Debugging information ----
item-type : org.powertac.common.Broker
$$javassist_64
converter-type : com.thoughtworks.xstream.converters.SingleValueConverterWrapper
-------------------------------]
at org.codehaus.groovy.grails.plugins.quartz.GrailsJobFactory$GrailsTaskClassJob.execute(GrailsJobFactory.java:81)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: com.thoughtworks.xstream.converters.ConversionException: Explicit selected converter cannot handle item
---- Debugging information ----
item-type : org.powertac.common.Broker
$$_javassist_64

converter-type : com.thoughtworks.xstream.converters.SingleValueConverterWrapper

    at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:71)

...
at com.thoughtworks.xstream.XStream.toXML(XStream.java:789)
at com.thoughtworks.xstream.XStream$toXML.call(Unknown Source)
at org.powertac.common.MessageConverter.toXML(MessageConverter.groovy:55)
at org.powertac.common.MessageConverter$toXML.call(Unknown Source)
at org.powertac.server.BrokerProxyService.broadcastMessage(BrokerProxyService.groovy:79)
at org.powertac.common.interfaces.BrokerProxy$broadcastMessage.callCurrent(Unknown Source)
at org.powertac.server.BrokerProxyService.broadcastMessages(BrokerProxyService.groovy:104)
...
at org.powertac.tariffmarket.TariffMarketService.activate(TariffMarketService.groovy:276)
...

@jecollins
Copy link
Member Author

This is because MessageConverter is written as a service, but packaged as a simple groovy class.

@jecollins
Copy link
Member Author

No, it was because our serializer was not handling hibernate proxies correctly. Nguyen has fixed this by moving to a newer version of XStream and adding special handling of the proxies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant