Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protobuf incompatibility with SIRI updater #6404

Open
vpaturet opened this issue Jan 24, 2025 · 1 comment
Open

Protobuf incompatibility with SIRI updater #6404

vpaturet opened this issue Jan 24, 2025 · 1 comment
Labels
Bug Regression This feature is no longer working.

Comments

@vpaturet
Copy link
Contributor

vpaturet commented Jan 24, 2025

Expected behavior

SIRI real-time updates are processed correctly through the Google PubSub SIRI updater.

Observed behavior

SIRI updates fail with the following error message:

13:52:45.232 INFO [updater-0]  (GooglePubsubEstimatedTimetableSource.java:271) Fetching initial data - finished after 11484 ms, got 55.3 MB
Exception in thread "updater-0" java.lang.NoSuchMethodError: 'void uk.org.siri.www.siri.SiriType.makeExtensionsImmutable()'
	at uk.org.siri.www.siri.SiriType.<init>(SiriType.java:507)
	at uk.org.siri.www.siri.SiriType.<init>(SiriType.java:13)
	at uk.org.siri.www.siri.SiriType$1.parsePartialFrom(SiriType.java:8120)
	at uk.org.siri.www.siri.SiriType$1.parsePartialFrom(SiriType.java:8114)
	at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:77)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:97)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:102)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:25)
	at uk.org.siri.www.siri.SiriType.parseFrom(SiriType.java:2260)
	at org.opentripplanner.updater.siri.updater.google.GooglePubsubEstimatedTimetableSource.serviceDelivery(GooglePubsubEstimatedTimetableSource.java:253)
	at org.opentripplanner.updater.siri.updater.google.GooglePubsubEstimatedTimetableSource.initializeData(GooglePubsubEstimatedTimetableSource.java:276)
	at org.opentripplanner.framework.retry.OtpRetry.execute(OtpRetry.java:48)
	at org.opentripplanner.updater.siri.updater.google.GooglePubsubEstimatedTimetableSource.start(GooglePubsubEstimatedTimetableSource.java:159)
	at org.opentripplanner.updater.siri.updater.google.SiriETGooglePubsubUpdater.run(SiriETGooglePubsubUpdater.java:64)
	at org.opentripplanner.updater.GraphUpdaterManager.lambda$startUpdaters$0(GraphUpdaterManager.java:100)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Version of OTP used (exact commit hash or JAR name)

dev-2.x

Data sets in use (links to GTFS and OSM PBF files)

Norwegian real time feed.

Root cause

The siri-protobuf library (org.entur:siri-protobuf, https://github.com/entur/siri-protobuf/) used in the SIRI updater relies on an old version of protobuf (3.7.2) that is no longer compatible with the protobuf version in use in OTP (recently updated to 4.28.3 in #6342 )

@leonardehrenfried
Copy link
Member

Image

😳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Regression This feature is no longer working.
Projects
None yet
Development

No branches or pull requests

2 participants