You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Dmitro Lisnichenko <dl...@hortonworks.com> on 2014/09/15 22:37:46 UTC
Review Request 25660: Add "exclusive" flag to custom command/custom
action requests
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/
-----------------------------------------------------------
Review request for Ambari and Dmytro Sen.
Bugs: AMBARI-7317
https://issues.apache.org/jira/browse/AMBARI-7317
Repository: ambari
Description
-------
The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
ambari-server/src/main/resources/properties.json 9471f3d
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
Diff: https://reviews.apache.org/r/25660/diff/
Testing
-------
Results :
Tests run: 1970, Failures: 0, Errors: 0, Skipped: 15
Thanks,
Dmitro Lisnichenko
Re: Review Request 25660: Add "exclusive" flag to custom
command/custom action requests
Posted by Dmytro Sen <ds...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/#review53524
-----------------------------------------------------------
Ship it!
Ship It!
- Dmytro Sen
On Сен. 16, 2014, 10:54 д.п., Dmitro Lisnichenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25660/
> -----------------------------------------------------------
>
> (Updated Сен. 16, 2014, 10:54 д.п.)
>
>
> Review request for Ambari and Dmytro Sen.
>
>
> Bugs: AMBARI-7317
> https://issues.apache.org/jira/browse/AMBARI-7317
>
>
> Repository: ambari
>
>
> Description
> -------
>
> The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
>
> It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
>
>
> Diffs
> -----
>
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
> ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
> ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
> ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
> ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
> ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
> ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
> ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
> ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
> ambari-server/src/main/resources/properties.json 9471f3d
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
> ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
>
> Diff: https://reviews.apache.org/r/25660/diff/
>
>
> Testing
> -------
>
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Views ...................................... SUCCESS [7.122s]
> [INFO] Ambari Server ..................................... SUCCESS [17:43.658s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 17:51.487s
> [INFO] Finished at: Tue Sep 16 13:41:34 FET 2014
> [INFO] Final Memory: 24M/329M
> [INFO] ------------------------------------------------------------------------
>
>
> Thanks,
>
> Dmitro Lisnichenko
>
>
Re: Review Request 25660: Add "exclusive" flag to custom
command/custom action requests
Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
> On Sept. 16, 2014, 12:48 p.m., Dmytro Sen wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java, line 233
> > <https://reviews.apache.org/r/25660/diff/2/?file=690507#file690507line233>
> >
> > Shouldn't it be boolean.class ?
We have a convention to use Integer in such cases as stated at AMBARI-6202
- Dmitro
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/#review53514
-----------------------------------------------------------
On Sept. 16, 2014, 10:54 a.m., Dmitro Lisnichenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25660/
> -----------------------------------------------------------
>
> (Updated Sept. 16, 2014, 10:54 a.m.)
>
>
> Review request for Ambari and Dmytro Sen.
>
>
> Bugs: AMBARI-7317
> https://issues.apache.org/jira/browse/AMBARI-7317
>
>
> Repository: ambari
>
>
> Description
> -------
>
> The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
>
> It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
>
>
> Diffs
> -----
>
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
> ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
> ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
> ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
> ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
> ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
> ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
> ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
> ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
> ambari-server/src/main/resources/properties.json 9471f3d
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
> ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
>
> Diff: https://reviews.apache.org/r/25660/diff/
>
>
> Testing
> -------
>
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Views ...................................... SUCCESS [7.122s]
> [INFO] Ambari Server ..................................... SUCCESS [17:43.658s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 17:51.487s
> [INFO] Finished at: Tue Sep 16 13:41:34 FET 2014
> [INFO] Final Memory: 24M/329M
> [INFO] ------------------------------------------------------------------------
>
>
> Thanks,
>
> Dmitro Lisnichenko
>
>
Re: Review Request 25660: Add "exclusive" flag to custom
command/custom action requests
Posted by Dmytro Sen <ds...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/#review53514
-----------------------------------------------------------
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
<https://reviews.apache.org/r/25660/#comment93203>
Shouldn't it be boolean.class ?
- Dmytro Sen
On Сен. 16, 2014, 10:54 д.п., Dmitro Lisnichenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25660/
> -----------------------------------------------------------
>
> (Updated Сен. 16, 2014, 10:54 д.п.)
>
>
> Review request for Ambari and Dmytro Sen.
>
>
> Bugs: AMBARI-7317
> https://issues.apache.org/jira/browse/AMBARI-7317
>
>
> Repository: ambari
>
>
> Description
> -------
>
> The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
>
> It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
>
>
> Diffs
> -----
>
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
> ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
> ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
> ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
> ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
> ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
> ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
> ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
> ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
> ambari-server/src/main/resources/properties.json 9471f3d
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
> ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
>
> Diff: https://reviews.apache.org/r/25660/diff/
>
>
> Testing
> -------
>
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Views ...................................... SUCCESS [7.122s]
> [INFO] Ambari Server ..................................... SUCCESS [17:43.658s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 17:51.487s
> [INFO] Finished at: Tue Sep 16 13:41:34 FET 2014
> [INFO] Final Memory: 24M/329M
> [INFO] ------------------------------------------------------------------------
>
>
> Thanks,
>
> Dmitro Lisnichenko
>
>
Re: Review Request 25660: Add "exclusive" flag to custom
command/custom action requests
Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/
-----------------------------------------------------------
(Updated Sept. 16, 2014, 10:54 a.m.)
Review request for Ambari and Dmytro Sen.
Changes
-------
Rebased on latest trunk and fixed tests
Bugs: AMBARI-7317
https://issues.apache.org/jira/browse/AMBARI-7317
Repository: ambari
Description
-------
The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
Diffs (updated)
-----
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
ambari-server/src/main/resources/properties.json 9471f3d
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
Diff: https://reviews.apache.org/r/25660/diff/
Testing (updated)
-------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Ambari Views ...................................... SUCCESS [7.122s]
[INFO] Ambari Server ..................................... SUCCESS [17:43.658s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17:51.487s
[INFO] Finished at: Tue Sep 16 13:41:34 FET 2014
[INFO] Final Memory: 24M/329M
[INFO] ------------------------------------------------------------------------
Thanks,
Dmitro Lisnichenko
Re: Review Request 25660: Add "exclusive" flag to custom
command/custom action requests
Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25660/
-----------------------------------------------------------
(Updated Sept. 15, 2014, 8:38 p.m.)
Review request for Ambari and Dmytro Sen.
Bugs: AMBARI-7317
https://issues.apache.org/jira/browse/AMBARI-7317
Repository: ambari
Description
-------
The issue is that Update Nagios request may be executed in parallel with start/stop requests in some cases. If Nagios host does not belong to a set of hosts that are affected by start/stop requests, then API user may be able to get a race condition and (sometimes) fake alerts.
It seems that the straightforward solution for both issues is to implement some flag (like exclusive=true) that would be available for custom actions/custom commands. The flag would forbid running request in parallel with other requests. This flag would be used when issuing Update Nagios request. As a result, race condition would not be possible.
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java 0385686
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Request.java 03c4d2e
ambari-server/src/main/java/org/apache/ambari/server/controller/ExecuteActionRequest.java 5e42276
ambari-server/src/main/java/org/apache/ambari/server/controller/MaintenanceStateHelper.java 059e2c9
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java 3e36ee9
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestEntity.java a35771e
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java 75635cc
ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 4a6d3ba
ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 2e6b5c0
ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 400373e
ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 74e6d1c
ambari-server/src/main/resources/properties.json 9471f3d
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 6d4f056
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java c4a88cf
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java a14c86a
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 8a3e270
ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java 76b9fbc
Diff: https://reviews.apache.org/r/25660/diff/
Testing
-------
Results :
Tests run: 1970, Failures: 0, Errors: 0, Skipped: 15
Thanks,
Dmitro Lisnichenko