You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Alena Prokharchyk <Al...@citrix.com> on 2014/02/06 23:45:42 UTC
447430c breaks Async Job Dispatching for API commands with
Map param type
Daan/Antonio,
In the latest master API Async job dispatching is broken for all the jobs containing Map<String,String> parameter (createTag/createNetworkOffering for example). You get exception like this:
2014-02-06 14:06:44,633 DEBUG [c.c.a.ApiServlet] (885544708@qtp-863633905-7:ctx-629dec4f ctx-5f2657ab) ===END=== 0:0:0:0:0:0:0:1 -- GET command=queryAsyncJobResult&jobId=0da676a6-8a56-4a85-9674-22e006560f30&response=json&sessionkey=Q0v%2B4qZKxVcDEnu3ibXNBT7B5xo%3D&_=1391724404610
2014-02-06 14:06:44,729 ERROR [c.c.a.ApiAsyncJobDispatcher] (Job-Executor-4:ctx-70ea00dd) Unexpected exception while executing org.apache.cloudstack.api.command.user.tag.CreateTagsCmd
com.google.gson.JsonParseException: The JsonDeserializer com.cloud.api.StringMapTypeAdapter@7a29f267 failed to deserialize json object {"tags":{"0":{"value":"alena","key":"alena"}},"response":"json","sessionkey":"Q0v+4qZKxVcDEnu3ibXNBT7B5xo=","cmdEventType":"CREATE_TAGS","ctxUserId":"2","command":"createTags","httpmethod":"GET","resourcetype":"Network","_":"1391724381502","ctxAccountId":"2","ctxStartEventId":"5168","resourceids":"79a96866-a304-4598-9e86-cc05225331ff"} given the type java.util.Map<java.lang.String, java.lang.String>
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:64)
at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:92)
at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:80)
Caused by: java.lang.UnsupportedOperationException
at com.google.gson.JsonElement.getAsString(JsonElement.java:184)
at com.cloud.api.StringMapTypeAdapter.deserialize(StringMapTypeAdapter.java:39)
at com.cloud.api.StringMapTypeAdapter.deserialize(StringMapTypeAdapter.java:30)
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:51)
... 26 more
The error behavior is caused by commit below. Haven't debugged in so can't give you more details on which line change causes the failure, but after reverting the commit, stuff started working normal.
commit 447430c3df38c36d947c44c4aebd961d8cbb14c4
Author: Antonio Fornie <af...@schubergphilis.com>
Date: Fri Jan 31 02:28:57 2014 +0100
CLOUDSTACK-6003 fixing plus refactoring dispatcher
Signed-off-by: Daan Hoogland <da...@onecht.net>
(cherry picked from commit a9bcc1ea3b7dfd3fcc5c795b0095c77851ebe618)
Signed-off-by: Daan Hoogland <da...@onecht.net>
I'm going to revert this as its a blocker bug for certain API commands. Daan/Antonio please revise it, and check it in only after testing Api commands with all possible parameters types.
Thanks,
Alena.