← Back to team overview

tac team mailing list archive

[Bug 574775] Re: receiving forecast notification results in failure

 

There is a problem responsible for those errors besides the concurrency
issue relating to queues and topics:

One error seems to occur since the forecast horizon is calculated one
timeslot ahead of the enabled products. Therefore the client receives a
forecastNotification for a product that he will not receive until the
next timeshift.

This problem can be simply solved by changing the criteria in line 61 of the ForecastGeneration service from
---------------------
if (forecastHorizon <= competition.timeslotsOpen) {
to 
if (forecastHorizon < competition.timeslotsOpen) {
---------------------
I am now checking for possible side effects. Fix will be released with next version.


The second error seems to occur because of the deactivateTimeslotsAhead property: if it is set to 1 as in default mode,
the client does not receive a ProductNotification for the first product but still receives a ForecastNotification.
Fix will be released as well in the next version.

Nevertheless both errors do not effect the implementation of your agent
beacuse the forecastNotification that now results in an error will not
be sent at all in the correct version.

-- 
receiving forecast notification results in failure
https://bugs.launchpad.net/bugs/574775
You received this bug notification because you are a member of TAC,
which is the registrant for TAC Energy.

Status in TAC Enery - Trading Agent Competition for the Energy Market: Confirmed
Status in TAC Energy 0.6 series: Confirmed
Status in TAC Energy Demo Agent: Confirmed

Bug description:
SUMMARY

I'm trying to create a competition and get the demo agent to receive notifications... this is how:

STEPS TO REPRODUCE

1. On a clean installation of tacenergy-0.6, I created a new competition with "number of participants" set to 1.
2. With a clean build of tacenergydemo-0.5, I click on "Send Ready Notification to server." and can confirm that the server recognizes the tacenergy1 user as ready.
3. A few seconds later, the demo agent fails with "2010-05-03 22:41:07,799 [jmsForecastContainer-1] ERROR tacdemo.JmsNotificationService  - Failed to save received forecastNotification as local Forecast: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'edu.kit.iism.tacdemo.Forecast' on field 'product': rejected value [null]; codes [edu.kit.iism.tacdemo.Forecast.product.nullable.error.edu.kit.iism.tacdemo.Forecast.product,edu.kit.iism.tacdemo.Forecast.product.nullable.error.product,edu.kit.iism.tacdemo.Forecast.product.nullable.error.edu.kit.iism.tacdemo.Product,edu.kit.iism.tacdemo.Forecast.product.nullable.error,forecast.product.nullable.error.edu.kit.iism.tacdemo.Forecast.product,forecast.product.nullable.error.product,forecast.product.nullable.error.edu.kit.iism.tacdemo.Product,forecast.product.nullable.error,edu.kit.iism.tacdemo.Forecast.product.nullable.edu.kit.iism.tacdemo.Forecast.product,edu.kit.iism.tacdemo.Forecast.product.nullable.product,edu.kit.iism.tacdemo.Forecast.product.nullable.edu.kit.iism.tacdemo.Product,edu.kit.iism.tacdemo.Forecast.product.nullable,forecast.product.nullable.edu.kit.iism.tacdemo.Forecast.product,forecast.product.nullable.product,forecast.product.nullable.edu.kit.iism.tacdemo.Product,forecast.product.nullable,nullable.edu.kit.iism.tacdemo.Forecast.product,nullable.product,nullable.edu.kit.iism.tacdemo.Product,nullable]; arguments [product,class edu.kit.iism.tacdemo.Forecast]; default message [Property [{0}] of class [{1}] cannot be null]". 

NOTES

reproducible.





Follow ups

References