Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-22110

Some ResourceProviders Are Not Transactional

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 2.6.0
    • ambari-server
    • None

    Description

      While investigating an issue with VDFs which don't contain any OS's which match the cluster, it was observed that, even after throwing an Exception inside of a Transaction, the entities created inside that transaction were being committed.

      Eventual investigation led to a problem between Guice/AOP and our ResourceProviders. The Guice documentations says that @Transactional methods can only be intercepted on objects created by Guice:

      https://github.com/google/guice/wiki/AOP:

      Instances must be created by Guice by an @Inject-annotated or no-argument constructor It is not possible to use method interception on instances that aren't constructed by Guice.

      However, some of the ResourceProviders which use @Transactional are not constructed by Guice.

      Attachments

        1. AMBARI-22110.patch
          32 kB
          Nate Cole

        Issue Links

          Activity

            People

              ncole@hortonworks.com Nate Cole
              ncole@hortonworks.com Nate Cole
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: