-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35528/
-----------------------------------------------------------
(Updated June 16, 2015, 8:21 p.m.)
Review request for Ambari, Jonathan Hurley and Nate Cole.
Changes
-------
Update diff to map String fields to CLOB type.
Bugs: AMBARI-11957
https://issues.apache.org/jira/browse/AMBARI-11957
Repository: ambari
Description
-------
In one case we are seeing this exception while trying to store data from a view
...
java.lang.IllegalStateException:
Exception Description: No transaction is currently active
at
org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.rollback(EntityTransactionImpl.java:176)
at
org.apache.ambari.server.view.persistence.DataStoreImpl.store(DataStoreImpl.java:135)
at
org.apache.ambari.view.hive.persistence.DataStoreStorage.store(DataStoreStorage.java:76)
at
org.apache.ambari.view.hive.resources.CRUDResourceManager.save(CRUDResourceManager.java:117)
at
The underlying exception ...
Exception [EclipseLink-4002] (Eclipse Persistence Services -
2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: value too
long for type character varying(255)
Error Code: 0
Call: UPDATE DS_JOBIMPL_4 SET DS_applicationId = ?, DS_duration = ?,
DS_sqlState = ?, DS_status = ?, DS_statusMessage = ? WHERE (DS_id = ?)
bind => [6 parameters bound]
This occurs because the view tries to save an entity with a String type
attribute which is mapped to a VARCHAR(255). The dynamic entity code maps the
String to a VARCHAR using the database default length.
Also, once the exception is thrown, the DataStore catches it and tries to
rollback the transaction. It looks like the tx is already inactive at this
point so a different exception is thrown out. The original exception should at
least be logged by the DataStoreImpl.
Diffs (updated)
-----
ambari-server/src/main/java/org/apache/ambari/server/view/persistence/DataStoreImpl.java
8353d63
ambari-server/src/test/java/org/apache/ambari/server/view/persistence/DataStoreImplTest.java
2b19b0a
Diff: https://reviews.apache.org/r/35528/diff/
Testing
-------
Manual tested.
New unit tests added.
mvn clean test
all pass
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46:25 min
[INFO] Finished at: 2015-06-16T13:42:50-04:00
[INFO] Final Memory: 54M/1453M
[INFO] ------------------------------------------------------------------------
Thanks,
Tom Beerbower