From 1fc88967c7af93830ea15c54ef4dd5f6e164e641 Mon Sep 17 00:00:00 2001 From: Gisli Magnusson Date: Wed, 18 Jun 2025 02:37:10 +0000 Subject: [PATCH] fix(ENGKNOW-2518): Use long for line counts. --- gortools/src/main/java/gorsat/process/GorJavaUtilities.java | 2 +- .../scala/gorsat/QueryHandlers/GeneralQueryHandler.scala | 4 ++-- .../main/java/org/gorpipe/gor/binsearch/GorIndexFile.java | 6 +++--- model/src/main/java/org/gorpipe/gor/model/BaseMeta.java | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gortools/src/main/java/gorsat/process/GorJavaUtilities.java b/gortools/src/main/java/gorsat/process/GorJavaUtilities.java index 0df4b7600..d56c3fe7b 100644 --- a/gortools/src/main/java/gorsat/process/GorJavaUtilities.java +++ b/gortools/src/main/java/gorsat/process/GorJavaUtilities.java @@ -591,7 +591,7 @@ public static void writeDictionaryFromMeta(FileReader fileReader, String outfold } var ai = new AtomicInteger(); var entries = metaList.parallelStream() - .filter(meta -> !meta.containsProperty(GorMeta.HEADER_LINE_COUNT_KEY) || meta.getLineCount() > 0) + .filter(meta -> !meta.containsProperty(GorMeta.HEADER_LINE_COUNT_KEY) || meta.getLineCount() > 0L) .map(meta -> { var p = meta.getMetaPath(); // Assume we have all data in the root folder (note relatives does not work here for S3Shared). diff --git a/gortools/src/main/scala/gorsat/QueryHandlers/GeneralQueryHandler.scala b/gortools/src/main/scala/gorsat/QueryHandlers/GeneralQueryHandler.scala index 9d4d2a0c9..2141777bf 100644 --- a/gortools/src/main/scala/gorsat/QueryHandlers/GeneralQueryHandler.scala +++ b/gortools/src/main/scala/gorsat/QueryHandlers/GeneralQueryHandler.scala @@ -352,10 +352,10 @@ object GeneralQueryHandler { val metaPath = DataUtil.toFile(f, DataType.META) val opt: Optional[String] = if (fileReader.exists(metaPath)) { val meta = GorMeta.createAndLoad(fileReader, metaPath) - if (meta.getLineCount == -1) { + if (meta.getLineCount == -1L) { val ret = dictRangeFromSeekRange(x._2, prefix) Optional.of[String](ret) - } else if(meta.getLineCount > 0) { + } else if(meta.getLineCount > 0L) { Optional.of[String](prefix + meta.getRange().formatAsTabDelimited()) } else { Optional.empty() diff --git a/model/src/main/java/org/gorpipe/gor/binsearch/GorIndexFile.java b/model/src/main/java/org/gorpipe/gor/binsearch/GorIndexFile.java index 4577b8bcd..54f0bbdcf 100644 --- a/model/src/main/java/org/gorpipe/gor/binsearch/GorIndexFile.java +++ b/model/src/main/java/org/gorpipe/gor/binsearch/GorIndexFile.java @@ -129,8 +129,8 @@ private void writeEntry(String chr, int pos, long filePos) throws IOException { } } - public static int loadVersion1(String line, BufferedReader reader, PositionCache pc) throws IOException { - int lineCount = 0; + public static long loadVersion1(String line, BufferedReader reader, PositionCache pc) throws IOException { + long lineCount = 0L; while (line != null) { String[] split = line.split("\t"); StringIntKey key = new StringIntKey(split[0], Integer.parseInt(split[1])); @@ -162,7 +162,7 @@ void invoke() throws IOException { break; case VERSION2: // Version 1 and 2 have same format - int lineCount = loadVersion1(line, reader, pc); + long lineCount = loadVersion1(line, reader, pc); log.debug("{} lines read from index file", lineCount); break; default: diff --git a/model/src/main/java/org/gorpipe/gor/model/BaseMeta.java b/model/src/main/java/org/gorpipe/gor/model/BaseMeta.java index b99251ce9..7bdc9fa95 100644 --- a/model/src/main/java/org/gorpipe/gor/model/BaseMeta.java +++ b/model/src/main/java/org/gorpipe/gor/model/BaseMeta.java @@ -173,11 +173,11 @@ public String getTags() { return getProperty(HEADER_TAGS_KEY); } - public int getLineCount() { + public long getLineCount() { if (headerProps.containsKey(HEADER_LINE_COUNT_KEY)) { - return Integer.parseInt(headerProps.get(HEADER_LINE_COUNT_KEY)); + return Long.parseLong(headerProps.get(HEADER_LINE_COUNT_KEY)); } - return -1; + return -1L; } public String[] getFileHeader() {