This is an automated email from the ASF dual-hosted git repository.
pvillard31 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 844e5bba374 NIFI-16433 Revert ExecuteSQL Fetch Size validation changes
(#11793)
844e5bba374 is described below
commit 844e5bba374145b71b2a9c44d4091ed5a2b3b1c9
Author: Pierre Villard <[email protected]>
AuthorDate: Fri Oct 9 16:22:00 2026 +0200
NIFI-16433 Revert ExecuteSQL Fetch Size validation changes (#11793)
Revert fc25938740d6a7458eeaa0031515048a430ca53f to preserve
existing Fetch Size values during upgrades and avoid unexpected
local changes in versioned flows.
---
.../processors/standard/AbstractExecuteSQL.java | 13 +++---------
.../nifi/processors/standard/TestExecuteSQL.java | 23 ++--------------------
2 files changed, 5 insertions(+), 31 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractExecuteSQL.java
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractExecuteSQL.java
index 1548f64432a..b13964381b6 100644
---
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractExecuteSQL.java
+++
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractExecuteSQL.java
@@ -52,7 +52,6 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@@ -61,7 +60,6 @@ import java.util.stream.Collectors;
public abstract class AbstractExecuteSQL extends AbstractProcessor {
- public static final String DEFAULT_FETCH_SIZE = "1000";
public static final String RESULT_ROW_COUNT = "executesql.row.count";
public static final String RESULT_QUERY_DURATION =
"executesql.query.duration";
public static final String RESULT_QUERY_EXECUTION_TIME =
"executesql.query.executiontime";
@@ -168,10 +166,10 @@ public abstract class AbstractExecuteSQL extends
AbstractProcessor {
public static final PropertyDescriptor FETCH_SIZE = new
PropertyDescriptor.Builder()
.name("Fetch Size")
.description("The number of result rows to be fetched from the
result set at a time. This is a hint to the database driver and may not be "
- + "honored and/or exact. The value must be greater than
zero.")
- .defaultValue(DEFAULT_FETCH_SIZE)
+ + "honored and/or exact. If the value specified is zero,
then the hint is ignored.")
+ .defaultValue("0")
.required(true)
- .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR)
+ .addValidator(StandardValidators.NON_NEGATIVE_INTEGER_VALIDATOR)
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
.build();
@@ -222,11 +220,6 @@ public abstract class AbstractExecuteSQL extends
AbstractProcessor {
config.renameProperty("sql-post-query", SQL_POST_QUERY.getName());
config.renameProperty("esql-output-batch-size",
OUTPUT_BATCH_SIZE.getName());
config.renameProperty("esql-fetch-size", FETCH_SIZE.getName());
- final Optional<String> configuredFetchSize =
config.getRawPropertyValue(FETCH_SIZE.getName());
- if (configuredFetchSize.isPresent() &&
"0".equals(configuredFetchSize.get())) {
- config.setProperty(FETCH_SIZE.getName(), DEFAULT_FETCH_SIZE);
- }
-
config.renameProperty("esql-auto-commit", AUTO_COMMIT.getName());
OBSOLETE_MAX_ROWS_PER_FLOW_FILE.forEach(obsoleteName ->
config.renameProperty(obsoleteName, MAX_ROWS_PER_FLOW_FILE.getName()));
}
diff --git
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteSQL.java
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteSQL.java
index c8f5ff6e306..268af9584bc 100644
---
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteSQL.java
+++
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteSQL.java
@@ -21,7 +21,6 @@ import org.apache.avro.file.DataFileStream;
import org.apache.avro.generic.GenericDatumReader;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.io.DatumReader;
-import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.dbcp.DBCPService;
import org.apache.nifi.flowfile.attributes.CoreAttributes;
import org.apache.nifi.flowfile.attributes.FragmentAttributes;
@@ -55,7 +54,6 @@ import static
org.apache.nifi.util.db.JdbcProperties.USE_AVRO_LOGICAL_TYPES;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
@@ -640,25 +638,8 @@ public class TestExecuteSQL extends
AbstractDatabaseConnectionServiceTest {
Map.entry(JdbcProperties.OLD_DEFAULT_SCALE_PROPERTY_NAME,
DEFAULT_SCALE.getName())
);
- assertEquals(AbstractExecuteSQL.DEFAULT_FETCH_SIZE,
AbstractExecuteSQL.FETCH_SIZE.getDefaultValue());
-
- final ValidationResult zeroFetchSize =
runner.setProperty(AbstractExecuteSQL.FETCH_SIZE, "0");
- assertFalse(zeroFetchSize.isValid());
-
- final PropertyMigrationResult zeroResult = runner.migrateProperties();
- assertEquals(expectedRenamed, zeroResult.getPropertiesRenamed());
- assertEquals(AbstractExecuteSQL.DEFAULT_FETCH_SIZE,
runner.getProcessContext().getAllProperties().get(AbstractExecuteSQL.FETCH_SIZE.getName()));
-
assertTrue(zeroResult.getPropertiesUpdated().contains(AbstractExecuteSQL.FETCH_SIZE.getName()));
-
- runner.setProperty("esql-fetch-size", "0");
- final PropertyMigrationResult renamedZeroResult =
runner.migrateProperties();
- assertEquals(AbstractExecuteSQL.DEFAULT_FETCH_SIZE,
runner.getProcessContext().getAllProperties().get(AbstractExecuteSQL.FETCH_SIZE.getName()));
-
assertTrue(renamedZeroResult.getPropertiesUpdated().contains(AbstractExecuteSQL.FETCH_SIZE.getName()));
-
- runner.setProperty(AbstractExecuteSQL.FETCH_SIZE, "${fetch.size}");
- final PropertyMigrationResult expressionResult =
runner.migrateProperties();
- assertEquals("${fetch.size}",
runner.getProcessContext().getAllProperties().get(AbstractExecuteSQL.FETCH_SIZE.getName()));
-
assertFalse(expressionResult.getPropertiesUpdated().contains(AbstractExecuteSQL.FETCH_SIZE.getName()));
+ final PropertyMigrationResult propertyMigrationResult =
runner.migrateProperties();
+ assertEquals(expectedRenamed,
propertyMigrationResult.getPropertiesRenamed());
}
private void insertRecords() throws SQLException {