You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@ambari.apache.org by Daniel Gergely <dg...@hortonworks.com> on 2016/04/01 14:06:56 UTC

Re: Review Request 45538: Audit Log Code Cleanup & Safety

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 1, 2016, 12:06 du)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Changes
-------

Where it was possible, magic strings were eliminated.


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal and Cache clearing issues from the ticket. These are open for review.
The rest of the issues will be added soon.

The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review127363
-----------------------------------------------------------


Ship it!




Ship It!

- Jonathan Hurley


On April 6, 2016, 12:08 p.m., Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 12:08 p.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java 13636b1 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.

> On ápr. 7, 2016, 7:30 de, Sebastian Toader wrote:
> > ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java, line 29
> > <https://reviews.apache.org/r/45538/diff/6/?file=1328230#file1328230line29>
> >
> >     Can't we just access RequestDetails.Component directly?

No, we cannot, because RequestDetails is a private nested class.


- Daniel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review127569
-----------------------------------------------------------


On ápr. 7, 2016, 11:47 de, Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated ápr. 7, 2016, 11:47 de)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 366dfff 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java abad559 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java a91a9c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 85379d8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 870a797 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java b671138 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 0647553 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java feda291 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java 30fef98 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 7bc0133 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java f0158f5 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java 11168f1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java ca3bac4 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 3f5e2d0 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java 3a33114 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 0999010 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 65d94f9 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java db3c934 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java f9f4152 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 1869909 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 89f0755 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java a9a3fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java d2d7bd9 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 0384f6c 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java f6a885d 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Sebastian Toader <st...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review127569
-----------------------------------------------------------




ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (line 330)
<https://reviews.apache.org/r/45538/#comment190952>

    This could be extracted into a method and have 
    ```if(!auditLogger.isEnabled()) {
          return;
        }
    ```
    at the beginning as if audit logging is disabled we shouldn't populate the cache.



ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (line 825)
<https://reviews.apache.org/r/45538/#comment190954>

    Is it a valid scenario that there is a `HostRoleComandEntity` for which there is no corresponding `RequestDetails`.
    
    If these are orphaned host role commands we receive shouldn't we just ignore them?



ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java (line 29)
<https://reviews.apache.org/r/45538/#comment190955>

    Can't we just access RequestDetails.Component directly?


- Sebastian Toader


On April 6, 2016, 6:08 p.m., Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 6:08 p.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java 13636b1 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 7, 2016, 3 du)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Changes
-------

Test fix


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal:
InitialValue() method is used when initializing the ThreadLocal member variable.

Multibinder:
The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.

Creator properties:
Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.

Auditlog enabling:
Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.

Cache:
The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 366dfff 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java abad559 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java a91a9c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 85379d8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 870a797 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java b671138 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 0647553 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java feda291 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java 30fef98 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 7bc0133 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java f0158f5 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java 11168f1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java ca3bac4 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 3f5e2d0 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java 3a33114 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 0999010 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 65d94f9 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java db3c934 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java f9f4152 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 1869909 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 89f0755 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java a9a3fcd 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java d2d7bd9 
  ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 0384f6c 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java 3976c03 
  ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java 0d2e710 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 05f3dcf 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 4a474bf 
  ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java b1336de 
  ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java f6a885d 
  ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Sebastian Toader <st...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review127582
-----------------------------------------------------------


Ship it!




Ship It!

- Sebastian Toader


On April 7, 2016, 1:47 p.m., Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 1:47 p.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 366dfff 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java abad559 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java a91a9c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 85379d8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 870a797 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java b671138 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 0647553 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java feda291 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java 30fef98 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 7bc0133 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java f0158f5 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java 11168f1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java ca3bac4 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 3f5e2d0 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java 3a33114 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 0999010 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 65d94f9 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java db3c934 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java f9f4152 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 1869909 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 89f0755 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java a9a3fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java d2d7bd9 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 0384f6c 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java f6a885d 
>   ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 7, 2016, 11:47 de)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Changes
-------

Review fixes & rebase to trunk.


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal:
InitialValue() method is used when initializing the ThreadLocal member variable.

Multibinder:
The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.

Creator properties:
Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.

Auditlog enabling:
Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.

Cache:
The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 366dfff 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java abad559 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java a91a9c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 85379d8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 870a797 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java b671138 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 0647553 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java feda291 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java 30fef98 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 7bc0133 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java f0158f5 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java 11168f1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java ca3bac4 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 3f5e2d0 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java 3a33114 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 0999010 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 65d94f9 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java db3c934 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java f9f4152 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 1869909 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 89f0755 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java a9a3fcd 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java d2d7bd9 
  ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 0384f6c 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
  ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java f6a885d 
  ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 6, 2016, 4:08 du)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal:
InitialValue() method is used when initializing the ThreadLocal member variable.

Multibinder:
The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.

Creator properties:
Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.

Auditlog enabling:
Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.

Cache:
The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
  ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
  ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java 13636b1 
  ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java 3dd6b0a 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 6, 2016, 3:19 du)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Changes
-------

Guava cache is introduced, AbstractEventCreatorBase is replaced by RequestAuditEventCreatorHelper and inheritance is removed.
Username for tasks is also added.


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal:
InitialValue() method is used when initializing the ThreadLocal member variable.

Multibinder:
The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.

Creator properties:
Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.

Auditlog enabling:
Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.

Cache:
The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
  ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.

> On ápr. 4, 2016, 1:30 du, Sebastian Toader wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java, line 127
> > <https://reviews.apache.org/r/45538/diff/4/?file=1322216#file1322216line127>
> >
> >     If requestBodySet is not empty than the last 'result' will be logged twice as the while loop above will log it as well.

While loop doesnt log it if the result status is not OK. So if the result status is OK, it is logged in the wile lopp, otherwise it is logged after.


- Daniel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review126823
-----------------------------------------------------------


On ápr. 4, 2016, 8:24 de, Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated ápr. 4, 2016, 8:24 de)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Sebastian Toader <st...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review126823
-----------------------------------------------------------




ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (line 137)
<https://reviews.apache.org/r/45538/#comment189914>

    I think access to 'auditLogRequestCache' has to be made thread safe to cover edges cases where one component deployed to multiple hosts (A, B and C) might be receiving updates from host A and B while the component is being removed from host C.



ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (line 994)
<https://reviews.apache.org/r/45538/#comment189915>

    You could use the EqualsVerifier library to ensure with a unit test that none breaks the equals() and hashcode() implementation inadvertently.



ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java (line 127)
<https://reviews.apache.org/r/45538/#comment189916>

    If requestBodySet is not empty than the last 'result' will be logged twice as the while loop above will log it as well.



ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java (line 28)
<https://reviews.apache.org/r/45538/#comment189917>

    Documenr the purpose of this class.


- Sebastian Toader


On April 4, 2016, 10:24 a.m., Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated April 4, 2016, 10:24 a.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.

> On ápr. 4, 2016, 2:05 du, Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java, line 28
> > <https://reviews.apache.org/r/45538/diff/4/?file=1322222#file1322222line28>
> >
> >     I'm actually a fan of composition over inheritance. If these methods truly are part of a common logic for all Creators, then we can keep it. But would it be better to simply have a class which can perform these operations and merely reference it from all of the RequestAuditEventCreator instances? I don't see any shared state in this class, which is why I ask.

I moved out the functionality to a helper class


> On ápr. 4, 2016, 2:05 du, Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java, line 847
> > <https://reviews.apache.org/r/45538/diff/4/?file=1322215#file1322215line847>
> >
> >     It look slike this method and the one above can access this cache concurrently; you might need to make this Map threadsafe. 
> >     
> >     Also, it's an interesting approach to clearing this cache. Component removals are not very often and I think the original point of clearing the cache was just to ensure it didn't stick around forever.
> >     
> >     You brought up good points that the cache only was mapping a Long to an Enum; maybe a simple expiring cache would have been simpler/safer/better here.

Guava cache is introduced and it is cleared if a key is not accessed for a certain amount of time (eg 60 minutes). It means that if a request is not checked in the cache for a while, it is cleared.


- Daniel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review126826
-----------------------------------------------------------


On ápr. 4, 2016, 8:24 de, Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated ápr. 4, 2016, 8:24 de)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java 319d772 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java eaea058 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java 040934e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java 66e37b8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/cleanup/ClasspathScannerUtils.java 4c12a62 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/ActionDBAAccessorAuditlogTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/#review126826
-----------------------------------------------------------




ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (line 835)
<https://reviews.apache.org/r/45538/#comment189926>

    It look slike this method and the one above can access this cache concurrently; you might need to make this Map threadsafe. 
    
    Also, it's an interesting approach to clearing this cache. Component removals are not very often and I think the original point of clearing the cache was just to ensure it didn't stick around forever.
    
    You brought up good points that the cache only was mapping a Long to an Enum; maybe a simple expiring cache would have been simpler/safer/better here.



ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java (line 28)
<https://reviews.apache.org/r/45538/#comment189927>

    I'm actually a fan of composition over inheritance. If these methods truly are part of a common logic for all Creators, then we can keep it. But would it be better to simply have a class which can perform these operations and merely reference it from all of the RequestAuditEventCreator instances? I don't see any shared state in this class, which is why I ask.


- Jonathan Hurley


On April 4, 2016, 4:24 a.m., Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45538/
> -----------------------------------------------------------
> 
> (Updated April 4, 2016, 4:24 a.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15646
>     https://issues.apache.org/jira/browse/AMBARI-15646
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> ThreadLocal:
> InitialValue() method is used when initializing the ThreadLocal member variable.
> 
> Multibinder:
> The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.
> 
> Creator properties:
> Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.
> 
> Auditlog enabling:
> Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.
> 
> Cache:
> The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
> By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
>   ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
>   ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
>   ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
>   ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
>   ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 
> 
> Diff: https://reviews.apache.org/r/45538/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 4, 2016, 8:24 de)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description (updated)
-------

ThreadLocal:
InitialValue() method is used when initializing the ThreadLocal member variable.

Multibinder:
The same logic is used for binding multiple classes from a package "automatically" as in org.apache.ambari.server.cleanup.CleanupModule.

Creator properties:
Property retrieval from responses now grouped into an abstract baseclass. It can get properties from namedPropertySets and propertySets.

Auditlog enabling:
Added checks to more places in the code to skip auditlog related object creation if auditlog is disabled.

Cache:
The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely


Re: Review Request 45538: Audit Log Code Cleanup & Safety

Posted by Daniel Gergely <dg...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45538/
-----------------------------------------------------------

(Updated ápr. 1, 2016, 1:01 du)


Review request for Ambari, Jonathan Hurley, Nate Cole, and Sebastian Toader.


Changes
-------

Use ClasspathScannerUtils to gather event creator classes


Bugs: AMBARI-15646
    https://issues.apache.org/jira/browse/AMBARI-15646


Repository: ambari


Description
-------

ThreadLocal and Cache clearing issues from the ticket. These are open for review.
The rest of the issues will be added soon.

The previously existing 3 variables now groupped into a single data structure to act as a cache. Every request has a RequestDetails object, which contains the last status of the request and a map for tasks. A task has a key that is composed of a component name and a host name, the value is the previous status of the task.
By using this structure, tasks for components can easily be removed and if the RequestDetails has no task, the request itself can also be removed.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java 79d3470 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java 2e5b920 
  ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java 3b449ca 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java 1cfb740 
  ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java b20714b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java ccb39de 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java 56efd18 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AbstractBaseEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java 103fd4d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java 29a241e 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java bdd6dbe 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java 1416021 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java 8034d24 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java 7e58893 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java 3b1f462 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java d0f57f2 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java d926d94 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java 910280d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java a3c3164 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java bdc7b59 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java 6b7bb2b 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java fe6f8cc 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java 7c9c731 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreator.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java fd13973 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java 681cfb8 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java 2e2b91d 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java d53aa68 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b8a6873 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java 9f83172 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java 2b4e5c1 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java 081f3d3 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java 611b1ea 
  ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java 18b860a 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java 36469c1 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java 992d33f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java 1678931 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java 3c33a23 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java 04e5f67 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java a45b1ac 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 714495f 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java fee1826 
  ambari-server/src/main/java/org/apache/ambari/server/notifications/dispatchers/EmailDispatcher.java 9c2b42b 
  ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java 5663ed2 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java 96d6131 
  ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java ecf2d7a 
  ambari-server/src/main/java/org/apache/ambari/server/state/services/AlertNoticeDispatchService.java 0b84568 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java 02ecb00 
  ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java 52ad44c 

Diff: https://reviews.apache.org/r/45538/diff/


Testing
-------


Thanks,

Daniel Gergely