hutiefang76 opened a new issue, #12897:
URL: https://github.com/apache/seatunnel/issues/12897
### Search before asking
- [x] I searched the existing issues and pull requests and found no fix for
this compiler/platform failure. #12660 concerns field resolution; it does not
change `CompileDescriptor`.
### What happened
On macOS ARM64, the existing Protobuf conversion test fails before it can
compile its schema:
```text
java.io.FileNotFoundException: Unsupported platform:
protoc-3.11.4-osx-aarch_64.exe
```
`CompileDescriptor` calls protoc-jar without a version selector, so it uses
protoc 3.11.4. That jar bundles x86 binaries, and the corresponding macOS ARM
artifact is absent from Maven Central. The native compilation path is also used
by the production Protobuf codecs; this report reproduces it directly through
the format module rather than a submitted connector job.
### SeaTunnel Version
Current `dev`, `e2957d27afa29d4de4324cf642450757d865b902`
(`3.0.1-SNAPSHOT`). The reproduction uses an unmodified worktree.
### SeaTunnel Config
No job configuration is needed: the existing `ProtobufConverterTest`
compiles its checked-in proto3 fixture through `CompileDescriptor`.
### Running Command
```shell
./mvnw -B -pl seatunnel-formats/seatunnel-format-protobuf -am
-Dtest=ProtobufConverterTest -Dsurefire.failIfNoSpecifiedTests=false package
```
Result: 1 test, 0 assertion failures, 1 error, 0 skips. A broader run of the
unchanged module fails all 19 tests from the same unavailable compiler.
### Error Exception
```text
java.io.FileNotFoundException: Unsupported platform:
protoc-3.11.4-osx-aarch_64.exe
at
org.apache.seatunnel.format.protobuf.ProtobufConverterTest.testConverter(ProtobufConverterTest.java:141)
```
### Java or Scala Version
JDK 17.0.18 on macOS ARM64.
### Proposed scope
I can take this. The existing x86 and Linux ARM compiler paths should retain
their current behavior. A compatible macOS ARM binary is available in protoc
3.25.3, which also matches this module's protobuf-java version. I will check
native execution, proto2/proto3 behavior and the existing x86 offline path
before submitting a fix.
The artifact checks distinguish the platforms: [3.11.4 macOS
ARM](https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/3.11.4/protoc-3.11.4-osx-aarch_64.exe)
returns 404; [3.25.3 macOS
ARM](https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/3.25.3/protoc-3.25.3-osx-aarch_64.exe)
and [3.11.4 Linux
ARM](https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/3.11.4/protoc-3.11.4-linux-aarch_64.exe)
are available.
### Are you willing to submit PR?
- [x] Yes, I am willing to submit a PR.
### Code of Conduct
- [x] I agree to follow this project's [Code of
Conduct](https://www.apache.org/foundation/policies/conduct).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]