Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Matej Novotny
    @manovotn
    Yeah, I gave it some more thought and I am not sure a TCK would make much sense given that MP has no specification for security and even in EE the solutions very between application servers.
    Emily Jiang
    @Emily-Jiang
    We are looking at integrating Context Propagation with Fault Tolerance, we have a question on CDI context, application context and transaction context.
    1. Does weld support session and conversation context propation?
    2. What does application context mean? Does it mean jndi context?
    3. When I specify transaction context propagation, will the method failure cause transaction rollback? What exactly does it mean?
    Ken Finnigan
    @kenfinnigan
    How can it be integrated with Context Prop outside the platform?
    Emily Jiang
    @Emily-Jiang
    We are in the planning stage. Making it optional is one of the choices. I planned to discuss this in MP call.
    Nathan Rauh
    @njr-11
    Application context includes the java:comp, java:module, and so forth JNDI namespace of the application component, as well as its thread context class loader..
    Transaction context propagation means that the task or completion stage runs under the same transaction of the thread that submits the task or creates the stage. If the task or completion stage wants to roll back the transaction, it can do so with the usual rollback API, or it can mark the transaction for rollback with setRollbackOnly. The spec does not have anything where we auto-rollback due to a failure, which would limit flexibility of implementation by forcing rollback on exception paths.
    Transaction context propagation also covers propagation of the lack of any transaction to a thread. So if the original thread was not running in a transaction to start with, then the task or completion stage will also run without any active transaction on the thread.
    Emily Jiang
    @Emily-Jiang
    awesome thanks @njr-11 !
    Stéphane Épardaud
    @FroMage
    Is the TCCL propagation tested by the TCK? We were wondering if we should implement that for Quarkus, so I don't think it is, because we don't have it ATM.
    And I didn't know it was supposed to be covered by the Application context.
    Emily Jiang
    @Emily-Jiang
    @manovotn can Weld propagate session, conversation context?
    Stéphane Épardaud
    @FroMage
    yes
    Nathan Rauh
    @njr-11
    @FroMage the TCK covers thread context classloader propagation as part of Application context in the coverage for ManagedExecutor,
    https://github.com/eclipse/microprofile-context-propagation/blob/45016b23962d8e1e63c2ea0a7b40e3c6ffc9bc0f/tck/src/main/java/org/eclipse/microprofile/context/tck/ManagedExecutorTest.java#L1543
    I don't see a similar test for ThreadContext, but Application context should logically mean the same for both. The Java EE Concurrency spec also includes propagation of the application component's thread context class loader, and we were intending to at least match the amount of context propagation that is done there.
    Stéphane Épardaud
    @FroMage
    This doesn't look like it checks if the TCCL is propagated, but merely if there is one, no?
    I don't even see where it's set.
    Matej Novotny
    @manovotn
    @Emily-Jiang yes, all built-in contexts in Weld can do that
    Emily Jiang
    @Emily-Jiang
    @manovotn thanks
    Nathan Rauh
    @njr-11
    @FroMage yes, the test could use some improvement. Currently it assumes that the thread context class loader was set by the container when running the servlet request, and verifies that an application class, which the thread context class loader ought to be able to load, is actually loadable. So it's dependent on implementation whether this is actually testing anything. It would be nice to include a test that actually sets a different thread context class loader as you say, and check if that propagates
    Stéphane Épardaud
    @FroMage
    I wonder if TestNG sets it, because in our case we're not setting it, pretty sure
    So this test just tests that the current TCCL is the same for everyone and can load a class on the classpath, not that it's propagated
    ¯_(ツ)_/¯
    Emily Jiang
    @Emily-Jiang
    @FroMage @njr-11 @manovotn as I mentioned earlier MicroProfile Fault Tolerance would like to consume Context Propagation. Would any of you and others be able to come to our call on 30th June 2-3pm UK time?
    Stéphane Épardaud
    @FroMage
    I could, yes
    Nathan Rauh
    @njr-11
    For anyone who did not attend the June 30 MP Fault Tolerance call mentioned above, I have added an agenda item to the next MP Context Propagation meeting on July 9 to consider whether or not we should define a minimal set of context for implementations to propagate by default. Emily raised eclipse/microprofile-context-propagation#193 for this.
    Nathan Rauh
    @njr-11
    Does anyone know if the details/process around using the MicroProfile Community Live Hangout has changed? I tried to join today's MP Context Propagation call and Zoom is giving me the "Waiting for host to start this meeting" message.
    Emily Jiang
    @Emily-Jiang
    yes
    Zoom now reinforced the password login
    only host can start the call and the host can accept attendees. MP is looking how to distribute password. For now, I suggest you use alternative webex or zoom links.
    Nathan Rauh
    @njr-11
    Given the MP Config breaking change that required MP Context Propagation to change how the user configures an empty set of context, it looks like we will need to cut a new release (1.1?) in order to be compatible with MicroProfile 4.0. I can start to look into that if there are no objections. Also let me know if there are any outstanding open issues that we ought to wait for, although glancing quickly over what is out there, it doesn't look like there is anything out there that is currently being worked.
    Stéphane Épardaud
    @FroMage
    I think it should be fine
    Nathan Rauh
    @njr-11
    Here is a link to the newly created MicroProfile Context Propagation 1.1 release, for compatibility with MicroProfile 4.0,
    https://github.com/eclipse/microprofile-context-propagation/releases/tag/1.1
    Stéphane Épardaud
    @FroMage
    @njr-11 Hi, I've a question. I'm trying to upgrade to 1.1 in SR-CP and hitting an issue due to our implementation of the Application ThreadContext
    Which deals with the TCCL
    Some tests in the TCK now require this Application ThreadContext, so I added it
    But now the TCK fails because lots of tests clear the TCCL
    And so we end up having some code that rely on it not being null, suddenly fail
    So, is it really the right thing to do to set the TCCL to null, is it what you do in OpenLiberty?
    Perhaps I should reset it to the system CL
    Stéphane Épardaud
    @FroMage
    That makes it pass, it's probably the better thing to do
    Nathan Rauh
    @njr-11
    I just checked, and OpenLiberty sets it to the system class loader when clearing it.
    Stéphane Épardaud
    @FroMage
    OK thanks, that makes a lot of sense
    Nathan Rauh
    @njr-11
    Given that the main MicroProfile number is still unavailable (requires a host code), I scheduled a one-time webex meeting for today's call. Let's give this a try and see how it goes,
    Meeting link:
    https://ibm.webex.com/ibm/j.php?MTID=m7f7f70a64874d7a9889d6fc7f8d67a2d
    Meeting number:
    145 548 5765
    MPCP12Nov20 (67271266 from phones and video systems)
    Nathan Rauh
    @njr-11
    One-time webex meeting for Thursday's (Dec 10) MicroProfile Context Propagation call:
    Meeting Link:
    https://ibm.webex.com/ibm/j.php?MTID=mafafd6613681f093db1bf4db8597715a
    Meeting number:
    145 325 2560
    Password:
    mpcp2020D10 (67272020 from phones and video systems)
    Stéphane Épardaud
    @FroMage
    @njr-11 Hi, I don't have anything useful to report today, so if nobody else shows up feel free to cut it short. Unless you have something in which case I can join
    Nathan Rauh
    @njr-11
    No problem. I started up the meeting anyway since I had posted it publicly just in case anyone else wanted to join with items to cover, but there wasn't anything else to cover, so I ended it early.
    Nathan Rauh
    @njr-11
    In between the last meeting and now I did track down what appears to be some existing potential integration points with SmallRye Mutiny https://smallrye.io/smallrye-mutiny/apidocs/io/smallrye/mutiny/infrastructure/Infrastructure.html Unfortunately the JavaDoc for this class is almost completely empty, making it unclear how much these methods accomplish and how close we could get to a correct solution with them.
    Stéphane Épardaud
    @FroMage
    Well SR-CP is already integrated with that
    and I've added a few methods to SR-CP to be able to influence which contexts are captured by Mutiny via annotations, but we haven't integrated it yet, so I can't really have enough feedback to bring this to the spec yet
    ATM Mutiny propagates all the contexts, which is what we're trying to solve with annotations on the outer method
    Nathan Rauh
    @njr-11
    Here is the one-time conference call info for this week's meeting. We will go over issue #206 which Emily raised to republish the 1.1 release as 1.2 in order to comply with the new MicroProfile Working Group release process.
    Meeting link:
    https://ibm.webex.com/ibm/j.php?MTID=m8c96f7cea87229adedf1d108d5feec6f
    Meeting number:
    145 547 2093
    Password:
    MPCP210114 (67272101 from phones and video systems)