Uploaded image for project: 'Sqoop (Retired)'
  1. Sqoop (Retired)
  2. SQOOP-2349

Transaction isolation level for metadata queries should be mutable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.6
    • 1.4.7
    • None
    • None

    Description

      Databases like PDW have don't accept READ COMMITTED isolation level:

      com.microsoft.sqlserver.jdbc.SQLServerException: Setting IsolationLevel to ReadCommitted is not supported.
              at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
              at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
              at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
              at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:39)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1441)
              at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1446)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1907)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)
              at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
              at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
              at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
              at java.sql.DriverManager.getConnection(DriverManager.java:571)
              at java.sql.DriverManager.getConnection(DriverManager.java:215)
              at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:880)
              at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
              at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:739)
              at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:762)
              at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270)
              at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241)
              at org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:234)
              at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304)
              at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833)
              at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645)
              at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
              at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
              at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
              at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
              at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
              at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
              at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
              at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
              at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
      15/05/06 10:07:34 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter
              at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651)
              at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
              at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
              at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
              at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
              at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
              at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
              at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
              at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
              at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
      

      Let's make it so that the isolation for metadata queries doesn't set the transaction isolation level or make it mutable.

      Attachments

        Issue Links

          Activity

            People

              maugli Attila Szabo
              abec Abraham Elmahrek
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: