This is an automated email from the ASF dual-hosted git repository.
MartijnVisser pushed a commit to branch release-2.3
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-2.3 by this push:
new 9ce420f91b7 [FLINK-40109][yarn][tests] Include rolled logs in the
keytab log check
9ce420f91b7 is described below
commit 9ce420f91b70a4252990f6e88309ca882036b675
Author: Martijn Visser <[email protected]>
AuthorDate: Tue Sep 29 20:04:57 2026 +0200
[FLINK-40109][yarn][tests] Include rolled logs in the keytab log check
- The distribution's log4j config can roll a container log shortly after
startup, which moves the keytab login into jobmanager.log.1 or
taskmanager.log.1
- verifyStringsInNamedLogFiles now also reads <file>.<n>
- Assert per log file, so a failure names the file and the application
Generated-by: Claude Code (Claude Opus 5.5)
(cherry picked from commit 5c56320f1ce74223d26bdf8721284de4c3b0a9c8)
---
.../apache/flink/yarn/YARNSessionFIFOSecuredITCase.java | 14 ++++++++------
.../src/test/java/org/apache/flink/yarn/YarnTestBase.java | 6 +++++-
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git
a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionFIFOSecuredITCase.java
b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionFIFOSecuredITCase.java
index b4b972f03b7..aabeb39712f 100644
---
a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionFIFOSecuredITCase.java
+++
b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionFIFOSecuredITCase.java
@@ -46,6 +46,7 @@ import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -193,12 +194,13 @@ class YARNSessionFIFOSecuredITCase extends
YARNSessionFIFOITCase {
private static void verifyResultContainsKerberosKeytab(
ApplicationId applicationId, String viewAcls, String modifyAcls)
throws Exception {
final String[] mustHave = {"Login successful for user", "using keytab
file"};
- final boolean jobManagerRunsWithKerberos =
- verifyStringsInNamedLogFiles(mustHave, applicationId,
"jobmanager.log");
- final boolean taskManagerRunsWithKerberos =
- verifyStringsInNamedLogFiles(mustHave, applicationId,
"taskmanager.log");
-
- assertThat(jobManagerRunsWithKerberos &&
taskManagerRunsWithKerberos).isTrue();
+ for (final String logFile : new String[] {"jobmanager.log",
"taskmanager.log"}) {
+ assertThat(verifyStringsInNamedLogFiles(mustHave, applicationId,
logFile))
+ .as(
+ "Kerberos keytab login %s in %s or its rolled
files for %s",
+ Arrays.toString(mustHave), logFile, applicationId)
+ .isTrue();
+ }
final List<String> amRMTokens =
Lists.newArrayList(AMRMTokenIdentifier.KIND_NAME.toString());
diff --git
a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
index 45b5023abcd..32b88ed70c1 100644
--- a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
+++ b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
@@ -639,7 +639,11 @@ public abstract class YarnTestBase {
new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
- if (fileName != null &&
!name.equals(fileName)) {
+ // Container logs go through a RollingFile
appender, so earlier
+ // lines may be in <fileName>.<n>.
+ if (fileName != null
+ && !name.equals(fileName)
+ &&
!name.matches(Pattern.quote(fileName) + "\\.\\d+")) {
return false;
}
final File f = new File(dir.getAbsolutePath(),
name);