rebus-org / Rebus.Oracle

:bus: Oracle transport for Rebus
https://mookid.dk/category/rebus
Other
5 stars 10 forks source link

Rebus 6 #20

Closed jods4 closed 5 years ago

jods4 commented 5 years ago

This is done on top of #19.

I upgraded Rebus dependency to 6.0 and did the migration to IRebusTime.

EDIT: all 70 tests are green on Oracle 11, including the 4 tests that were flaky on Rebus 5. 🎉


@mookid8000 I have one problem with 5 tests failing with:

System.MissingMethodException : Method not found: 'System.Threading.Tasks.Task Rebus.Bus.IBus.SendLocal(System.Object, System.Collections.Generic.Dictionary`2<System.String,System.String>)'.

I see IBus has a SendLocal method now, but no class inside Rebus.Storage implements it (the project compiles...) so I'm clueless what's wrong and why this method is dynamically missing. Any hint? What did you change?

mookid8000 commented 5 years ago

This must be because of this commit: rebus-org/Rebus@c4901686493d8b982357b575e1b0ba3e80640052

In it, the signature was changed of IBus among others to accept IDictionary<string, string> instead of Dictionary<string, string>

jods4 commented 5 years ago

Probably... but where does that impact me? Is there something I need to change in Rebus.Oracle (which statically compiles fine) or is the problem in Rebus itself?

mookid8000 commented 5 years ago

but.... you say that you've updated the Rebus dependency to version 6 - where does it show?

mookid8000 commented 5 years ago

oh sorry! it's in the rebus-6 branch 🙄

mookid8000 commented 5 years ago

I think if you

update-package rebus -version 6.0.0-b11

across the entire solution, then I'm pretty sure it will work

jods4 commented 5 years ago

I upgraded Rebus.Oracle and Rebus.Oracle.Tests to 6.0.0-b11.

The only project left in solution is Rebus.Oracle.Devart, which is not referenced by tests so it shouldn't matter (that project is still on Rebus 4.2.1 BTW).

Tests also reference Rebus.Tests.Contracts@6.0.0-b06, could there be a mismatch between this release and Rebus@6.0.0-b11?

mookid8000 commented 5 years ago

Maybe.... try updating contracts to the same prerelease version

Sendt fra min iPhone

– Mogens Heller Grabe Torsmark 4 8700 Horsens Danmark

+45 29367077 mookid8000@gmail.com

Den 13. aug. 2019 kl. 18.06 skrev jods notifications@github.com:

I upgraded Rebus.Oracle and Rebus.Oracle.Tests to 6.0.0-b11.

The only project left in solution is Rebus.Oracle.Devart, which is not referenced by tests so it shouldn't matter (that project is still on Rebus 4.2.1 BTW).

Tests also reference Rebus.Tests.Contracts@6.0.0-b06, could there be a mismatch between this release and Rebus@6.0.0-b11?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

jods4 commented 5 years ago

I see you published a b11 minutes ago... I tried and that was it! 70 tests are green on Oracle 11, including tests that were flaky in Rebus 5.

jods4 commented 5 years ago

Just noticed I had to add now parameter to procedure rebus_dequeue in order to properly support IRebusTime.

This is a breaking change for upgrading users. We need to figure out how to handle that schema change:

jods4 commented 5 years ago

All commits on this branch except the last have been merged. I'll do a new PR with some more minor stuff.

Aerodynamite commented 4 years ago

@jods4 @mookid8000 Did you guys figure out how to handle the breaking change with the rebus_dequeue procedure? I'm porting your changes to the Devart project but I can't find anything that will cope with this breaking change.

jods4 commented 4 years ago

@Aerodynamite Nope, not on my side :( I manage the schema separately (myself) so I'm not really impacted.

It's a major update, so breaking changes are allowed but I feel it's an issue that there's no automatic way to upgrade the schema.