What steps will reproduce the problem? We run a very complex mapped object tree, with several levels of nested objects in lists, where each list can contain large amounts (thousands) of objects. Dozer handles this without a problem, but of course - very slowly. Orika's overhead is negligable to non-existant (we map objects that are about 2-4 mb of binary data usually under 1 ms). so performance wise it's very good. anyhow - it seems that from time to time an object from a different path in the object tree get's mapped to the wrong list: i.e. myObject.myList<FirstType>.nestedList<NestedType> would get objects from myObject.otherList<SecondType>
the really strange thing is that nested list would contain mostly NestedType an one instance of SecondType
reproduction is consistent when a large enough object tree (say 2-3 levels of nesting, thousands of objects in the lists) and enough executions of the mapper. out of 800 mappings of the root object i consistently get 3-4 class cast exceptions while iterating on those lists.
This seems to happen only after the code has been compiled into byte code - that's my diagnosis based on the fact that it happens very intermittently, and far more frequently on "run" configuration rather than on "debug". i would say that it was a race-condition but i am running on a single thread so i don't see how that would be possible. but that might be all-together unrelated.
What version of the product are you using? On what operating system? we're using the latest 1.2.0 version, but this goes back as at lest 1.1.5 which was the first version we tried. i check every release to see if it was resolved.
Please provide any additional information below.
Status: New
Labels:
Type-Defect
Priority-Medium