Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-3223

WrapperFactory with async executor service throws exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-M8
    • 2.0.0-M8
    • None
    • None

    Description

      To reproduce:

      • checkout ISIS-3223 branch
      • locate the  `WrapperFactory_async_IntegTest` in new `regressiontests/stable-core-wrapperfactory` module
      • (enhance, using sh enhance.sh -w)
      • run the test; it will fail because the async executor code (as result of line 60) hits an exception when calling back to WrapperFactoryDefault, line 649, which in turn is the RepositoryServiceDefault failing an invariant assert on line 244. 

      I don't understand enough to know why that invariant is checked.  The method used in DN is "detachCopy", so it would seem that there are legitimate reasons when the entity we get back is different to the one being detached (the DN code has a entityClass.newInstance(...) in one of its code paths, that is what we hit).

      Perhaps the fact that this is multi-threaded code is the issue - though I don't believe we are sharing the reference to the Counter bean across threads, each thread has its own reference.

      Attachments

        Activity

          People

            hobrom Andi Huber
            danhaywood Daniel Keir Haywood
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: