-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Live-Reload not working with Hibernate Reactive #18299
Comments
/cc @DavideD, @gavinking |
weird, i'm so sure I tested this! |
To clarify, live reload doesn't work only if one changes something in the
entity.
It works if one changes something in the other classes
…On Thu, Jul 1, 2021 at 10:31 AM Gavin King ***@***.***> wrote:
weird, i'm so sure I tested this!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#18299 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEIQ5I27Z422W73EPWO4ELTVQYYPANCNFSM47UDUCOA>
.
|
@gavinking to be clear, yes it worked in the past. It's a recent regression; apparently we don't have tests for this. |
OK |
More details on duplicate issue: #18301 |
I think you linked to this issue instead of the duplicate one |
thanks, fixed. |
@stuartwdouglas would you be able to look at this? If not I can try myself, but not before next week. |
So this will work if you do |
Hi @stuartwdouglas, thanks a lot for the insights! I can confirm that setting Besides that, any idea how we could fix this properly? I still find it interesting that this happens if you use As a side note, I noticed that the other problem I described in #18301 that an injected |
@markusdlugi it should be a safe workaround, but clearly this hasn't been tested much. @stuartwdouglas interesting, thanks. FIY with the Quarkus benchmarks on Techempower, we had So I guess ideally we'd want to be able to force vert.x to not capture the classloader? Would be nice to remove the overhead (w/o warnings) and without having the need to set the flag. cc/ @vietj |
We have two different requirements here:
I think this will need some vert.x changes to make this work in an ideal way, previously this was all done with some nasty hacks, and the first application CL would always leak as vert.x would never release it. |
How can we proceed here? Do we need to open an issue for vert.x? We do have the workaround with |
I guess we could just filter out the warnings. I think with this flag set this is basically the same as the Vert.x 3 behavior, so it should be ok. We still have this hack: Line 129 in fadd877
We probably should look at fixing this in Vert.x though. |
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
@stuartwdouglas I don't understand these hacks, in particular I wonder how we can get away with sunddenly setting a new CL on the context; wouldn't it be more appropariate to shut down the current context in a clean way and then start the new ones with the new context? |
Then you lose the live reload workflow, as the first request after a change will fail as the server is shut down |
But also I wonder about the real purpose of these: if it's not critical for vertx that we do stick to these rules, perhaps the fix is just to remove those lines in Vertx ? But I'd love to hear @vietj 's opinion about that, as I'm sure the warning has some history. |
Is there no way to gracefully spin up new workers while terminating the stale ones? |
Github's autocompletion doesn't seem to like me pinging |
The only thing 'stale' about them is that they have the old TCCL. Trying to
attach a new event loop to an existing connection is not really possible
without ltd of much more complex and invasive changes that likely would not
be accepted into Netty.
Stuart
…On Wed, 21 Jul 2021, 7:48 pm Sanne Grinovero, ***@***.***> wrote:
Then you lose the live reload workflow, as the first request after a
change will fail as the server is shut down
Is there no way to gracefully spin up new workers while terminating the
stale ones?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#18299 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACQG62PM2SWD3ZOGDWXXRLTY2JV5ANCNFSM47UDUCOA>
.
|
@stuartwdouglas today I'm looking at leaks again, and it seems even setting the |
The problem with |
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
Yea, tryCleanTccl was introduced for Vert.x 3, changes for Vert.x 4 seem to have broken it. |
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299
This breaks dev mode, and in general is not needed as Quarkus can perform it's own TCCL management when required. It also provides a slight performance boost. Fixes quarkusio#18299 (cherry picked from commit bc2fdfa)
Describe the bug
Live-reload doesn't work when using Hibernate Reactive.
To Reproduce
Using the
hibernate-reactive-quickstart
, start it in dev-modelocalhost:8080/fruits
Fruit
from "SELECT f FROM Fruit f ORDER BY f.name" to "SELECT f FROM Fruit f ORDER BY f.id"localhost:8080/fruits
This throws an exception, apparently we're not dropping the original classloader fully, and the entity class doesn't match the expected type.
Quarkus version or git rev
2.0.0.Final
The text was updated successfully, but these errors were encountered: