Skip to content

Update apache.mina.version to 2.2.10 - #1347

Closed
chrjohn wants to merge 2 commits into
masterfrom
chrjohn-mina
Closed

chrjohn wants to merge 2 commits into
masterfrom
chrjohn-mina

Conversation

@chrjohn

@chrjohn chrjohn commented Oct 17, 2026

Copy link
Copy Markdown
Member

No description provided.

@chrjohn chrjohn added this to the QFJ 3.0.3 milestone Oct 17, 2026
@chrjohn

chrjohn commented Oct 17, 2026

Copy link
Copy Markdown
Member Author

@copilot
BogusTrustManagerFactory is missing from MINA now. Can we copy it from an older version into our code base?

Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com>

Copilot AI commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

@copilot
BogusTrustManagerFactory is missing from MINA now. Can we copy it from an older version into our code base?

Done. I copied BogusTrustManagerFactory (Apache 2.0 header kept) into quickfix.mina.ssl and removed the MINA import from SSLContextFactory. The class compiles standalone with javac. I couldn't run the full Maven build here because it fails on missing generated resources, so the quickfixj-core module build and its tests haven't been run.

@chrjohn

chrjohn commented Oct 17, 2026

Copy link
Copy Markdown
Member Author

@copilot
Build is failing. Seems like there is a recursion.

Copilot AI commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

@copilot
Build is failing. Seems like there is a recursion.

I couldn't find a recursion, and I haven't fixed the build. I made no new commit. The CI logs have no StackOverflowError, and the failures reproduce locally.

  • Where it fails: quickfixj-core tests fail on MINA 2.2.10: SSLCertificateTest, SocketInitiatorTest, HttpProxyTest, SocksProxyTest, SSLAndNonSSLTest, and the acceptance tests (heartbeat timeouts). The compile error from the missing BogusTrustManagerFactory is gone.
  • What the failures look like: In SSLCertificateTest only the TLSv1.3 [1] runs fail, and only after earlier tests in the same JVM. Run alone, SSLCertificateTest#shouldAuthenticateServerCertificate* and SocketInitiatorTest#testLogonAfterServerDisconnect pass on 2.2.10. Failing runs show the TLS handshake finishing, the initiator sending Logon, and the acceptor never receiving it.
  • Thread dumps: A dump from the full run showed QFJ Timer and ssl-exec-* threads BLOCKED inside MINA's SSLHandlerG1. That is MINA's new non-blocking SSL pipeline, which 2.2.10 enables by default.
  • What I tried: Calling setUseNonBlockingPipeline(false) in AbstractSslFilter switches to the older handler, but SSLCertificateTest still had 20 failures. I reverted that change.
  • Version check: The full SSLCertificateTest class passes 48/48 on MINA 2.2.4. It fails 22 of 48 on 2.2.5, with the setUseNonBlockingPipeline(false) change still in place for that run. So the regression came in with a MINA release after 2.2.4.

I think this is a MINA 2.2.5+ regression, not something in our code, but I haven't confirmed it with MINA. Staying on 2.2.4 is the safe option, or the bump could wait for a MINA fix. Which do you want?

@chrjohn

chrjohn commented Oct 18, 2026

Copy link
Copy Markdown
Member Author

Superseded by #1348

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants