This is an automated email from the ASF dual-hosted git repository. kaspersor pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/metamodel.git
commit e2b6d3773b7ce922bb6123aad93673d0a0a9d5e0 Author: Arjan Seijkens <a.seijk...@quadient.com> AuthorDate: Wed Jun 12 10:31:20 2019 +0200 com.opencsv.CSVParser doesn't provide thread safety, so we need to make sure it is accessed in a thread-safe manner. --- csv/src/main/java/org/apache/metamodel/csv/SingleLineCsvRow.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/csv/src/main/java/org/apache/metamodel/csv/SingleLineCsvRow.java b/csv/src/main/java/org/apache/metamodel/csv/SingleLineCsvRow.java index fe9fda5..64ff013 100644 --- a/csv/src/main/java/org/apache/metamodel/csv/SingleLineCsvRow.java +++ b/csv/src/main/java/org/apache/metamodel/csv/SingleLineCsvRow.java @@ -29,6 +29,8 @@ import org.apache.metamodel.schema.Column; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.opencsv.ICSVParser; + /** * Specialized row implementation for single-line CSV values */ @@ -99,7 +101,10 @@ final class SingleLineCsvRow extends AbstractRow { private String[] parseLine() { try { - return _dataSet.getCsvParser().parseLine(_line); + final ICSVParser csvParser = _dataSet.getCsvParser(); + synchronized (csvParser) { + return csvParser.parseLine(_line); + } } catch (IOException e) { if (_failOnInconsistentRowLength) { throw new MetaModelException("Failed to parse CSV line no. " + _rowNumber + ": " + _line, e);