[
https://issues.apache.org/jira/browse/MAPREDUCE-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797457#action_12797457
]
Aaron Kimball commented on MAPREDUCE-1327:
------------------------------------------
1) I don't see how those instructions suggest you do that. In any case, don't
propagate that change back into any patches you generate.
2) here's the stack trace:
{code}
10/01/06 18:33:13 ERROR manager.OracleManager: Could not set time zone for
oracle connection
java.lang.reflect.InvocationTargetException
»- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
»- at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
»- at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
»- at java.lang.reflect.Method.invoke(Method.java:597)
»- at
org.apache.hadoop.sqoop.manager.OracleManager.setSessionTimeZone(OracleManager.java:107)
»- at
org.apache.hadoop.sqoop.manager.OracleManager.makeConnection(OracleManager.java:89)
»- at
org.apache.hadoop.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:50)
»- at
org.apache.hadoop.sqoop.manager.OracleManagerTest.setUp(OracleManagerTest.java:91)
»- at junit.framework.TestCase.runBare(TestCase.java:132)
»- at junit.framework.TestResult$1.protect(TestResult.java:110)
»- at junit.framework.TestResult.runProtected(TestResult.java:128)
»- at junit.framework.TestResult.run(TestResult.java:113)
»- at junit.framework.TestCase.run(TestCase.java:124)
»- at junit.framework.TestSuite.runTest(TestSuite.java:232)
»- at junit.framework.TestSuite.run(TestSuite.java:227)
»- at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
»- at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
»- at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420)
»- at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911)
»- at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768)
Caused by: java.sql.SQLDataException: ORA-01882: timezone region not found
»- at
oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:159)
»- at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:137)
»- at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:257)
»- at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:468)
»- at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:418)
»- at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1089)
»- at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:188)
»- at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1222)
»- at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1516)
»- at
oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:2284)
»- at
oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:2227)
»- at
oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:809)
»- at
oracle.jdbc.driver.PhysicalConnection.setSessionTimeZone(PhysicalConnection.java:13459)
»- ... 20 more
{code}
Handy tip: You don't need to see all the output on the console; it appears in
text files in build/contrib/sqoop/test/TEST-(testname).txt
> Oracle database import via sqoop fails when a table contains the column types
> such as TIMESTAMP(6) WITH LOCAL TIME ZONE and TIMESTAMP(6) WITH TIME ZONE
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-1327
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1327
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: contrib/sqoop
> Affects Versions: 0.22.0
> Reporter: Leonid Furman
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1327.patch
>
> Original Estimate: 96h
> Remaining Estimate: 96h
>
> When Oracle table contains the columns "TIMESTAMP(6) WITH LOCAL TIME ZONE"
> and "TIMESTAMP(6) WITH TIME ZONE", Sqoop fails to map values for those
> columns to valid Java data types, resulting in the following exception:
> ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
> java.lang.NullPointerException
> at
> org.apache.hadoop.sqoop.orm.ClassWriter.generateFields(ClassWriter.java:253)
> at
> org.apache.hadoop.sqoop.orm.ClassWriter.generateClassForColumns(ClassWriter.java:701)
> at
> org.apache.hadoop.sqoop.orm.ClassWriter.generate(ClassWriter.java:597)
> at org.apache.hadoop.sqoop.Sqoop.generateORM(Sqoop.java:75)
> at org.apache.hadoop.sqoop.Sqoop.importTable(Sqoop.java:87)
> at org.apache.hadoop.sqoop.Sqoop.run(Sqoop.java:175)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> at org.apache.hadoop.sqoop.Sqoop.main(Sqoop.java:201)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> I have modified the code for Hadoop and Sqoop so this bug is fixed on my
> machine. Please let me know if you would like me to generate the patch and
> upload it to this ticket.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.