Author: ryota
Date: Fri Aug 2 22:19:13 2013
New Revision: 1509892
URL: http://svn.apache.org/r1509892
Log:
OOZIE-1484 Error in DB upgrade when error message exceeds 4K characters (ryota)
Modified:
oozie/branches/branch-4.0/core/src/main/java/org/apache/oozie/client/rest/JsonWorkflowAction.java
oozie/branches/branch-4.0/release-log.txt
oozie/branches/branch-4.0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
Modified:
oozie/branches/branch-4.0/core/src/main/java/org/apache/oozie/client/rest/JsonWorkflowAction.java
URL:
http://svn.apache.org/viewvc/oozie/branches/branch-4.0/core/src/main/java/org/apache/oozie/client/rest/JsonWorkflowAction.java?rev=1509892&r1=1509891&r2=1509892&view=diff
==============================================================================
---
oozie/branches/branch-4.0/core/src/main/java/org/apache/oozie/client/rest/JsonWorkflowAction.java
(original)
+++
oozie/branches/branch-4.0/core/src/main/java/org/apache/oozie/client/rest/JsonWorkflowAction.java
Fri Aug 2 22:19:13 2013
@@ -116,7 +116,7 @@ public class JsonWorkflowAction implemen
@Column(name = "error_code")
private String errorCode = null;
- @Column(name = "error_message", length = 4000)
+ @Column(name = "error_message", length = 500)
private String errorMessage = null;
public JsonWorkflowAction() {
Modified: oozie/branches/branch-4.0/release-log.txt
URL:
http://svn.apache.org/viewvc/oozie/branches/branch-4.0/release-log.txt?rev=1509892&r1=1509891&r2=1509892&view=diff
==============================================================================
--- oozie/branches/branch-4.0/release-log.txt (original)
+++ oozie/branches/branch-4.0/release-log.txt Fri Aug 2 22:19:13 2013
@@ -1,5 +1,6 @@
-- Oozie 4.0.0 release
+OOZIE-1484 Error in DB upgrade when error message exceeds 4K characters (ryota)
OOZIE-1482 4.0 client does not work with 3.x server for coord jobs (rohini)
OOZIE-1479 Duplicate end_miss events introduced by OOZIE-1472 (rohini)
OOZIE-1472 Confirm against database before generating start and duration miss
events (rohini)
Modified:
oozie/branches/branch-4.0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
URL:
http://svn.apache.org/viewvc/oozie/branches/branch-4.0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java?rev=1509892&r1=1509891&r2=1509892&view=diff
==============================================================================
---
oozie/branches/branch-4.0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
(original)
+++
oozie/branches/branch-4.0/tools/src/main/java/org/apache/oozie/tools/OozieDBCLI.java
Fri Aug 2 22:19:13 2013
@@ -412,9 +412,9 @@ public class OozieDBCLI {
ArrayList<String> ddlQueries = new ArrayList<String>();
if (dbVendor.equals("derby")) {
ddlQueries.add("ALTER TABLE WF_ACTIONS ALTER COLUMN execution_path
SET DATA TYPE VARCHAR(1024)");
- // change wf_action.error_message from clob to varchar(4000)
- ddlQueries.add("ALTER TABLE WF_ACTIONS ADD COLUMN
error_message_temp VARCHAR(4000)");
- ddlQueries.add("UPDATE WF_ACTIONS SET
error_message_temp=error_message");
+ // change wf_action.error_message from clob to varchar(500)
+ ddlQueries.add("ALTER TABLE WF_ACTIONS ADD COLUMN
error_message_temp VARCHAR(500)");
+ ddlQueries.add("UPDATE WF_ACTIONS SET error_message_temp =
SUBSTR(error_message,1,500)");
ddlQueries.add("ALTER TABLE WF_ACTIONS DROP COLUMN error_message");
ddlQueries.add("RENAME COLUMN WF_ACTIONS.error_message_temp TO
error_message");
// change coord_jobs.frequency from int to varchar(255)
@@ -433,9 +433,9 @@ public class OozieDBCLI {
else
if (dbVendor.equals("oracle")) {
ddlQueries.add("ALTER TABLE WF_ACTIONS MODIFY (execution_path
VARCHAR2(1024))");
- // change wf_action.error_message from clob to varchar2(4000)
- ddlQueries.add("ALTER TABLE WF_ACTIONS ADD (error_message_temp
VARCHAR2(4000))");
- ddlQueries.add("UPDATE WF_ACTIONS SET error_message_temp =
error_message");
+ // change wf_action.error_message from clob to varchar2(500)
+ ddlQueries.add("ALTER TABLE WF_ACTIONS ADD (error_message_temp
VARCHAR2(500))");
+ ddlQueries.add("UPDATE WF_ACTIONS SET error_message_temp =
dbms_lob.substr(error_message,500,1)");
ddlQueries.add("ALTER TABLE WF_ACTIONS DROP COLUMN error_message");
ddlQueries.add("ALTER TABLE WF_ACTIONS RENAME COLUMN
error_message_temp TO error_message");
// change coord_jobs.frequency from int to varchar(255)
@@ -447,13 +447,19 @@ public class OozieDBCLI {
else
if (dbVendor.equals("mysql")) {
ddlQueries.add("ALTER TABLE WF_ACTIONS MODIFY execution_path
VARCHAR(1024)");
- ddlQueries.add("ALTER TABLE WF_ACTIONS MODIFY error_message
VARCHAR(4000)");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS ADD COLUMN
error_message_temp VARCHAR(500)");
+ ddlQueries.add("UPDATE WF_ACTIONS SET error_message_temp =
SUBSTR(error_message,1,500)");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS DROP COLUMN error_message");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS CHANGE error_message_temp
error_message VARCHAR(500)");
ddlQueries.add("ALTER TABLE COORD_JOBS MODIFY frequency
VARCHAR(255)");
}
else
if (dbVendor.equals("postgresql")) {
ddlQueries.add("ALTER TABLE WF_ACTIONS ALTER COLUMN execution_path
TYPE VARCHAR(1024)");
- ddlQueries.add("ALTER TABLE WF_ACTIONS ALTER COLUMN error_message
TYPE VARCHAR(4000)");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS ADD COLUMN
error_message_temp VARCHAR(500)");
+ ddlQueries.add("UPDATE WF_ACTIONS SET error_message_temp =
SUBSTR(error_message,1,500)");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS DROP COLUMN error_message");
+ ddlQueries.add("ALTER TABLE WF_ACTIONS RENAME error_message_temp
TO error_message");
ddlQueries.add("ALTER TABLE COORD_JOBS ALTER COLUMN frequency TYPE
VARCHAR(255)");
}
Connection conn = (run) ? createConnection() : null;