Abraham Elmahrek created SQOOP-1841:
---------------------------------------
Summary: Sqoop2: Upgrade from 1.99.1 to 1.99.3 onwards is broken
Key: SQOOP-1841
URL: https://issues.apache.org/jira/browse/SQOOP-1841
Project: Sqoop
Issue Type: Bug
Components: sqoop2-derby-repository
Affects Versions: 1.99.3
Reporter: Abraham Elmahrek
Assignee: Abraham Elmahrek
Fix For: 1.99.5
A constraint on the SQ_JOB table was added in 1.99.3 that doesn't have
corresponding upgrade code.
{code}
7:20:49.070 AM INFO org.apache.sqoop.server.ServerInitializer
Sqoop server has been correctly terminated
7:57:52.844 AM INFO org.apache.sqoop.core.PropertiesConfigurationProvider
Starting config file poller thread
7:57:52.847 AM INFO org.apache.sqoop.tools.tool.UpgradeTool
Initializing the RepositoryManager with immutable option turned off.
7:57:52.853 AM INFO org.apache.sqoop.repository.RepositoryManager
Setting system properties:
{derby.stream.error.file=/var/log/sqoop2/derbyrepo.log}
7:57:52.888 AM INFO org.apache.sqoop.repository.JdbcRepositoryContext
[repo-ctx] handler=org.apache.sqoop.repository.derby.DerbyRepositoryHandler,
conn-url=jdbc:derby:/var/lib/sqoop2/repository/db;create=true,
driver=org.apache.derby.jdbc.EmbeddedDriver, user=null, password=*****,
jdbc-props={}, tx-isolation=READ_COMMITTED, max-conn=10
7:57:53.836 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
DerbyRepositoryHandler initialized.
7:57:53.843 AM INFO org.apache.sqoop.repository.JdbcRepositoryProvider
JdbcRepositoryProvider initialized
7:57:53.843 AM INFO org.apache.sqoop.repository.JdbcRepositoryProvider
JdbcRepository initialized.
7:57:53.843 AM INFO org.apache.sqoop.repository.RepositoryManager
Creating or updating respository at bootup
7:57:54.491 AM INFO org.apache.sqoop.repository.JdbcRepository
Creating repository schema objects
7:57:55.478 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(CREATE TABLE SQOOP.SQ_SYSTEM (SQM_ID BIGINT GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1) PRIMARY KEY, SQM_KEY VARCHAR(64), SQM_VALUE
VARCHAR(64) )) Update count: 0
7:57:55.605 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_CONNECTION ADD SQN_ENABLED BOOLEAN DEFAULT TRUE)
Update count: 0
7:57:55.658 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_JOB ADD SQB_ENABLED BOOLEAN DEFAULT TRUE) Update
count: 0
7:57:55.680 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_CONNECTION ADD SQN_CREATION_USER VARCHAR(32) DEFAULT
NULL) Update count: 0
7:57:55.703 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_CONNECTION ADD SQN_UPDATE_USER VARCHAR(32) DEFAULT
NULL) Update count: 0
7:57:55.721 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_JOB ADD SQB_CREATION_USER VARCHAR(32) DEFAULT NULL)
Update count: 0
7:57:55.738 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_JOB ADD SQB_UPDATE_USER VARCHAR(32) DEFAULT NULL)
Update count: 0
7:57:55.760 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_SUBMISSION ADD SQS_CREATION_USER VARCHAR(32) DEFAULT
NULL) Update count: 0
7:57:55.777 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_SUBMISSION ADD SQS_UPDATE_USER VARCHAR(32) DEFAULT
NULL) Update count: 0
7:57:55.800 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_SUBMISSION ALTER COLUMN SQS_EXTERNAL_ID SET DATA
TYPE VARCHAR(50)) Update count: 0
7:57:55.814 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_CONNECTOR ALTER COLUMN SQC_VERSION SET DATA TYPE
VARCHAR(64)) Update count: 0
7:57:55.862 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(CREATE TABLE SQOOP.SQ_DIRECTION (SQD_ID BIGINT GENERATED ALWAYS AS
IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, SQD_NAME VARCHAR(64)))
Update count: 0
7:57:55.893 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(RENAME COLUMN SQOOP.SQ_FORM.SQF_OPERATION TO SQF_DIRECTION) Update count: 0
7:57:55.919 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(RENAME COLUMN SQOOP.SQ_JOB.SQB_CONNECTION TO SQB_FROM_CONNECTION) Update
count: 0
7:57:55.935 AM INFO
org.apache.sqoop.repository.derby.DerbyRepositoryHandler
QUERY(ALTER TABLE SQOOP.SQ_JOB ADD COLUMN SQB_TO_CONNECTION BIGINT) Update
count: 0
7:57:55.954 AM INFO org.apache.sqoop.repository.JdbcRepositoryTransaction
Attempting transaction commit
7:57:55.958 AM ERROR org.apache.sqoop.tools.tool.UpgradeTool
Can't finish upgrading RepositoryManager, Driver and ConnectionManager:
org.apache.sqoop.common.SqoopException: DERBYREPO_0003:Unable to run specified
query - ALTER TABLE SQOOP.SQ_JOB DROP CONSTRAINT SQOOP.FK_SQB_SQN
at
org.apache.sqoop.repository.derby.DerbyRepositoryHandler.runQuery(DerbyRepositoryHandler.java:2633)
at
org.apache.sqoop.repository.derby.DerbyRepositoryHandler.createOrUpgradeRepository(DerbyRepositoryHandler.java:424)
at
org.apache.sqoop.repository.JdbcRepository$1.doIt(JdbcRepository.java:131)
at
org.apache.sqoop.repository.JdbcRepository.doWithConnection(JdbcRepository.java:90)
at
org.apache.sqoop.repository.JdbcRepository.doWithConnection(JdbcRepository.java:61)
at
org.apache.sqoop.repository.JdbcRepository.createOrUpgradeRepository(JdbcRepository.java:127)
at
org.apache.sqoop.repository.RepositoryManager.initialize(RepositoryManager.java:123)
at
org.apache.sqoop.tools.tool.UpgradeTool.runToolWithConfiguration(UpgradeTool.java:39)
at org.apache.sqoop.tools.ConfiguredTool.runTool(ConfiguredTool.java:35)
at org.apache.sqoop.tools.ToolRunner.main(ToolRunner.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.sqoop.tomcat.TomcatToolRunner.main(TomcatToolRunner.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Tool.main(Tool.java:225)
Caused by: org.apache.commons.dbcp.SQLNestedException: Borrow prepareStatement
from pool failed
at
org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:113)
at
org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
at
org.apache.sqoop.repository.derby.DerbyRepositoryHandler.runQuery(DerbyRepositoryHandler.java:2609)
... 19 more
Caused by: java.sql.SQLSyntaxErrorException: ALTER TABLE failed. There is no
constraint 'SQOOP.FK_SQB_SQN' on table '"SQOOP"."SQ_JOB"'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
Source)
at
org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:285)
at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1179)
at
org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:107)
... 22 more
Caused by: java.sql.SQLException: ALTER TABLE failed. There is no constraint
'SQOOP.FK_SQB_SQN' on table '"SQOOP"."SQ_JOB"'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
Source)
... 38 more
Caused by: ERROR 42X86: ALTER TABLE failed. There is no constraint
'SQOOP.FK_SQB_SQN' on table '"SQOOP"."SQ_JOB"'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at org.apache.derby.impl.sql.compile.TableElementList.validate(Unknown
Source)
at
org.apache.derby.impl.sql.compile.AlterTableNode.bindStatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown
Source)
... 32 more
7:57:55.966 AM INFO org.apache.sqoop.core.PropertiesConfigurationProvider
Shutting down configuration poller thread
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)