From 8a1a43fcc50fd53f657e00046670a5ea6b4179c4 Mon Sep 17 00:00:00 2001 From: Rene Pfeuffer Date: Tue, 18 Feb 2020 08:08:09 +0100 Subject: [PATCH] Document parameter --- .../java/sonia/scm/repository/api/BrowseCommandBuilder.java | 5 ++++- .../java/sonia/scm/repository/spi/BrowseCommandRequest.java | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java index 53281b52b8..e088248762 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java @@ -301,7 +301,10 @@ public final class BrowseCommandBuilder } /** - * Limit the number of result files to limit entries. + * Limit the number of result files to limit entries. By default this is set to + * {@value BrowseCommandRequest#DEFAULT_REQUEST_LIMIT}. Be aware that this parameter can have + * severe performance implications. Reading a repository with thousands of files in one folder + * can generate a huge load for a longer time. * * @param limit The maximal number of files this request shall return. * diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java index c856421855..e7181829a1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java @@ -49,7 +49,8 @@ import java.util.function.Consumer; public final class BrowseCommandRequest extends FileBaseCommandRequest { - /** Field description */ + public static final int DEFAULT_REQUEST_LIMIT = 1000; + private static final long serialVersionUID = 7956624623516803183L; public BrowseCommandRequest() { @@ -271,7 +272,7 @@ public final class BrowseCommandRequest extends FileBaseCommandRequest /** Limit the number of result files to limit entries. */ - private int limit = 1000; + private int limit = DEFAULT_REQUEST_LIMIT; // WARNING / TODO: This field creates a reverse channel from the implementation to the API. This will break // whenever the API runs in a different process than the SPI (for example to run explicit hosts for git repositories).