You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Sid Wagle <sw...@hortonworks.com> on 2014/10/06 23:51:30 UTC

Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

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

Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.


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


Repository: ambari


Description
-------

{code}
PROBLEM:

ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2

Error is:
08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000

Error Code: 1795
Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...

bind => [2551 parameters bound]
Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
    
STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse

ACTUAL BEHAVIOR:  Oracle throws the error


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
  ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
  ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
  ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
  ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 

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


Testing
-------

All unit test passed.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Ambari Main ....................................... SUCCESS [2.581s]
[INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
[INFO] Ambari Web ........................................ SUCCESS [43.322s]
[INFO] Ambari Views ...................................... SUCCESS [10.910s]
[INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
[INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
[INFO] Ambari Agent ...................................... SUCCESS [13.191s]
[INFO] Ambari Client ..................................... SUCCESS [0.083s]
[INFO] Ambari Python Client .............................. SUCCESS [1.803s]
[INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
[INFO] Ambari Shell ...................................... SUCCESS [0.152s]
[INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
[INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24:16.665s
[INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
[INFO] Final Memory: 75M/753M
[INFO] ------------------------------------------------------------------------


Thanks,

Sid Wagle


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Sumit Mohanty <sm...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26384/#review55587
-----------------------------------------------------------

Ship it!


Ship It!

- Sumit Mohanty


On Oct. 6, 2014, 9:51 p.m., Sid Wagle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26384/
> -----------------------------------------------------------
> 
> (Updated Oct. 6, 2014, 9:51 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.
> 
> 
> Bugs: AMBARI-4420
>     https://issues.apache.org/jira/browse/AMBARI-4420
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {code}
> PROBLEM:
> 
> ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2
> 
> Error is:
> 08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
> Local Exception Stack: 
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
> 
> Error Code: 1795
> Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...
> 
> bind => [2551 parameters bound]
> Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
> 	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
>     
> STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse
> 
> ACTUAL BEHAVIOR:  Oracle throws the error
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
>   ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 
> 
> Diff: https://reviews.apache.org/r/26384/diff/
> 
> 
> Testing
> -------
> 
> All unit test passed.
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Main ....................................... SUCCESS [2.581s]
> [INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
> [INFO] Ambari Web ........................................ SUCCESS [43.322s]
> [INFO] Ambari Views ...................................... SUCCESS [10.910s]
> [INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
> [INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
> [INFO] Ambari Agent ...................................... SUCCESS [13.191s]
> [INFO] Ambari Client ..................................... SUCCESS [0.083s]
> [INFO] Ambari Python Client .............................. SUCCESS [1.803s]
> [INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
> [INFO] Ambari Shell ...................................... SUCCESS [0.152s]
> [INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
> [INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 24:16.665s
> [INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
> [INFO] Final Memory: 75M/753M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sid Wagle
> 
>


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26384/#review55604
-----------------------------------------------------------

Ship it!


Ship It!

- Alejandro Fernandez


On Oct. 6, 2014, 11:17 p.m., Sid Wagle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26384/
> -----------------------------------------------------------
> 
> (Updated Oct. 6, 2014, 11:17 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.
> 
> 
> Bugs: AMBARI-4420
>     https://issues.apache.org/jira/browse/AMBARI-4420
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {code}
> PROBLEM:
> 
> ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2
> 
> Error is:
> 08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
> Local Exception Stack: 
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
> 
> Error Code: 1795
> Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...
> 
> bind => [2551 parameters bound]
> Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
> 	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
>     
> STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse
> 
> ACTUAL BEHAVIOR:  Oracle throws the error
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
>   ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 
> 
> Diff: https://reviews.apache.org/r/26384/diff/
> 
> 
> Testing
> -------
> 
> All unit test passed.
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Main ....................................... SUCCESS [2.581s]
> [INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
> [INFO] Ambari Web ........................................ SUCCESS [43.322s]
> [INFO] Ambari Views ...................................... SUCCESS [10.910s]
> [INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
> [INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
> [INFO] Ambari Agent ...................................... SUCCESS [13.191s]
> [INFO] Ambari Client ..................................... SUCCESS [0.083s]
> [INFO] Ambari Python Client .............................. SUCCESS [1.803s]
> [INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
> [INFO] Ambari Shell ...................................... SUCCESS [0.152s]
> [INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
> [INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 24:16.665s
> [INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
> [INFO] Final Memory: 75M/753M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sid Wagle
> 
>


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Sid Wagle <sw...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26384/
-----------------------------------------------------------

(Updated Oct. 6, 2014, 11:17 p.m.)


Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.


Changes
-------

Made updates to org.apache.ambari.server.orm.dao.HostRoleCommandDAO#findTaskIdsByRequestAndTaskIds


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


Repository: ambari


Description
-------

{code}
PROBLEM:

ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2

Error is:
08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000

Error Code: 1795
Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...

bind => [2551 parameters bound]
Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
    
STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse

ACTUAL BEHAVIOR:  Oracle throws the error


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
  ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
  ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
  ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
  ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 

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


Testing
-------

All unit test passed.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Ambari Main ....................................... SUCCESS [2.581s]
[INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
[INFO] Ambari Web ........................................ SUCCESS [43.322s]
[INFO] Ambari Views ...................................... SUCCESS [10.910s]
[INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
[INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
[INFO] Ambari Agent ...................................... SUCCESS [13.191s]
[INFO] Ambari Client ..................................... SUCCESS [0.083s]
[INFO] Ambari Python Client .............................. SUCCESS [1.803s]
[INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
[INFO] Ambari Shell ...................................... SUCCESS [0.152s]
[INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
[INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24:16.665s
[INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
[INFO] Final Memory: 75M/753M
[INFO] ------------------------------------------------------------------------


Thanks,

Sid Wagle


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Oct. 6, 2014, 10:09 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java, line 69
> > <https://reviews.apache.org/r/26384/diff/1/?file=714266#file714266line69>
> >
> >     Are there any other places where this type of bug may exist?
> 
> Sid Wagle wrote:
>     Yes, most definitely, however, it is not possbile to generalize this as a part of DaoUitls since IN might not be the only porjection let alone its placement in the cluase.
>     Effectively, the client of DaoUtils needs to do the partitioning.
>     
>     The only other place where this could happen is findTaskIdsByRequestAndTaskIds, let me patch that up as well.

Thanks Sid!


- Alejandro


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


On Oct. 6, 2014, 9:51 p.m., Sid Wagle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26384/
> -----------------------------------------------------------
> 
> (Updated Oct. 6, 2014, 9:51 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.
> 
> 
> Bugs: AMBARI-4420
>     https://issues.apache.org/jira/browse/AMBARI-4420
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {code}
> PROBLEM:
> 
> ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2
> 
> Error is:
> 08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
> Local Exception Stack: 
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
> 
> Error Code: 1795
> Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...
> 
> bind => [2551 parameters bound]
> Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
> 	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
>     
> STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse
> 
> ACTUAL BEHAVIOR:  Oracle throws the error
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
>   ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 
> 
> Diff: https://reviews.apache.org/r/26384/diff/
> 
> 
> Testing
> -------
> 
> All unit test passed.
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Main ....................................... SUCCESS [2.581s]
> [INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
> [INFO] Ambari Web ........................................ SUCCESS [43.322s]
> [INFO] Ambari Views ...................................... SUCCESS [10.910s]
> [INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
> [INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
> [INFO] Ambari Agent ...................................... SUCCESS [13.191s]
> [INFO] Ambari Client ..................................... SUCCESS [0.083s]
> [INFO] Ambari Python Client .............................. SUCCESS [1.803s]
> [INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
> [INFO] Ambari Shell ...................................... SUCCESS [0.152s]
> [INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
> [INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 24:16.665s
> [INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
> [INFO] Final Memory: 75M/753M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sid Wagle
> 
>


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Sid Wagle <sw...@hortonworks.com>.

> On Oct. 6, 2014, 10:09 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java, line 69
> > <https://reviews.apache.org/r/26384/diff/1/?file=714266#file714266line69>
> >
> >     Are there any other places where this type of bug may exist?

Yes, most definitely, however, it is not possbile to generalize this as a part of DaoUitls since IN might not be the only porjection let alone its placement in the cluase.
Effectively, the client of DaoUtils needs to do the partitioning.

The only other place where this could happen is findTaskIdsByRequestAndTaskIds, let me patch that up as well.


- Sid


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


On Oct. 6, 2014, 9:51 p.m., Sid Wagle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26384/
> -----------------------------------------------------------
> 
> (Updated Oct. 6, 2014, 9:51 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.
> 
> 
> Bugs: AMBARI-4420
>     https://issues.apache.org/jira/browse/AMBARI-4420
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {code}
> PROBLEM:
> 
> ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2
> 
> Error is:
> 08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
> Local Exception Stack: 
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
> 
> Error Code: 1795
> Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...
> 
> bind => [2551 parameters bound]
> Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
> 	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
>     
> STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse
> 
> ACTUAL BEHAVIOR:  Oracle throws the error
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
>   ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 
> 
> Diff: https://reviews.apache.org/r/26384/diff/
> 
> 
> Testing
> -------
> 
> All unit test passed.
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Main ....................................... SUCCESS [2.581s]
> [INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
> [INFO] Ambari Web ........................................ SUCCESS [43.322s]
> [INFO] Ambari Views ...................................... SUCCESS [10.910s]
> [INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
> [INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
> [INFO] Ambari Agent ...................................... SUCCESS [13.191s]
> [INFO] Ambari Client ..................................... SUCCESS [0.083s]
> [INFO] Ambari Python Client .............................. SUCCESS [1.803s]
> [INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
> [INFO] Ambari Shell ...................................... SUCCESS [0.152s]
> [INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
> [INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 24:16.665s
> [INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
> [INFO] Final Memory: 75M/753M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sid Wagle
> 
>


Re: Review Request 26384: ORA-01795: maximum number of expressions in a list is 1000 for Oracle DB

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26384/#review55585
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java
<https://reviews.apache.org/r/26384/#comment95945>

    Are there any other places where this type of bug may exist?


- Alejandro Fernandez


On Oct. 6, 2014, 9:51 p.m., Sid Wagle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26384/
> -----------------------------------------------------------
> 
> (Updated Oct. 6, 2014, 9:51 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Myroslav Papirkovskyy, and Sumit Mohanty.
> 
> 
> Bugs: AMBARI-4420
>     https://issues.apache.org/jira/browse/AMBARI-4420
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {code}
> PROBLEM:
> 
> ORA-01795: maximum number of expressions in a list is 1000 in Ambari Server log. Customer recently upgraded to Ambari 1.4.2
> 
> Error is:
> 08:54:51,320 ERROR [qtp1280560314-2070] ReadHandler:84 - Caught a runtime exception executing a query
> Local Exception Stack: 
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
> 
> Error Code: 1795
> Call: SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?...
> 
> bind => [2551 parameters bound]
> Query: ReadAllQuery(referenceClass=HostRoleCommandEntity sql="SELECT task_id, attempt_count, event, exitcode, host_name, last_attempt_time, request_id, role, role_command, stage_id, start_time, status, std_error, std_out FROM host_role_command WHERE (task_id IN ?) ORDER BY task_id")
> 	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
>     
> STEPS TO REPRODUCE:  Over 1000 entries in the host_role_command and execution_command tables when oracle is used for Ambari backend databse
> 
> ACTUAL BEHAVIOR:  Oracle throws the error
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java 9eca8c0 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java f9407f7 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/DaoUtils.java d92491f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java 56dd304 
>   ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java 4369604 
>   ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java ff8998a 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java 7ad7638 
> 
> Diff: https://reviews.apache.org/r/26384/diff/
> 
> 
> Testing
> -------
> 
> All unit test passed.
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Ambari Main ....................................... SUCCESS [2.581s]
> [INFO] Apache Ambari Project POM ......................... SUCCESS [0.500s]
> [INFO] Ambari Web ........................................ SUCCESS [43.322s]
> [INFO] Ambari Views ...................................... SUCCESS [10.910s]
> [INFO] Ambari Admin View ................................. SUCCESS [1:02.402s]
> [INFO] Ambari Server ..................................... SUCCESS [21:41.446s]
> [INFO] Ambari Agent ...................................... SUCCESS [13.191s]
> [INFO] Ambari Client ..................................... SUCCESS [0.083s]
> [INFO] Ambari Python Client .............................. SUCCESS [1.803s]
> [INFO] Ambari Groovy Client .............................. SUCCESS [11.065s]
> [INFO] Ambari Shell ...................................... SUCCESS [0.152s]
> [INFO] Ambari Python Shell ............................... SUCCESS [0.609s]
> [INFO] Ambari Groovy Shell ............................... SUCCESS [8.021s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 24:16.665s
> [INFO] Finished at: Mon Oct 06 14:50:39 PDT 2014
> [INFO] Final Memory: 75M/753M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sid Wagle
> 
>