diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcImportExtractor.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcImportExtractor.java index b856ce60..df78755f 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcImportExtractor.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcImportExtractor.java @@ -59,8 +59,8 @@ public void run(ImmutableContext context, Object connectionC, Object jobC, Parti try { ResultSetMetaData metaData = resultSet.getMetaData(); int column = metaData.getColumnCount(); - Object[] array = new Object[column]; while (resultSet.next()) { + Object[] array = new Object[column]; for (int i = 0; i< column; i++) { array[i] = resultSet.getObject(i+1); } diff --git a/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsSequenceExportExtractor.java b/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsSequenceExportExtractor.java index 16afcdb6..3a04e59d 100644 --- a/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsSequenceExportExtractor.java +++ b/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsSequenceExportExtractor.java @@ -84,6 +84,7 @@ private void extractFile(Path file, long start, long length) boolean hasNext = filereader.next(line); while (hasNext) { datawriter.writeCsvRecord(line.toString()); + line = new Text(); hasNext = filereader.next(line); if(filereader.getPosition() >= end && filereader.syncSeen()) { break; diff --git a/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsTextExportExtractor.java b/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsTextExportExtractor.java index 80551406..e00d4287 100644 --- a/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsTextExportExtractor.java +++ b/execution/mapreduce/src/main/java/org/apache/sqoop/job/etl/HdfsTextExportExtractor.java @@ -104,11 +104,11 @@ private void extractFile(Path file, long start, long length) // one extra line is read in previous split start += filereader.readLine(new Text(), 0); } - Text line = new Text(); int size; LOG.info("Start position: " + String.valueOf(start)); long next = start; while (next <= end) { + Text line = new Text(); size = filereader.readLine(line, Integer.MAX_VALUE); if (size == 0) { break;