Upgrade to Safeguard 1.2

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Upgrade to Safeguard 1.2

brunobat
Hi folks,

This is a status update on the upgrade of Safeguard.

I was able to fix most issues, but a deeper problem remains.

When an app is being deployed, the /SafeguardExtension/ goes over it's
annotations and if something wrong is detected, a /DefinitionException/
is thrown, as expected. This works perfectly in the standalone library.

The problem is that TomEE sees that exception through OpenWebBeans,
where the exception is swollen here:

https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129

Thus, the Arquillian deployment doesn't receive /DefinitionException as
expected/ but a /DeploymentException/.

Any suggestion on how to tackle this?

There is a work in progress here: https://github.com/apache/tomee/pull/365

Cheers

--
Bruno Baptista
https://twitter.com/brunobat_


Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

Roberto Cortez
Hum, I wonder how was that working before with the old version?

Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.

Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?

> On 8 Jan 2019, at 17:05, Bruno Baptista <[hidden email]> wrote:
>
> Hi folks,
>
> This is a status update on the upgrade of Safeguard.
>
> I was able to fix most issues, but a deeper problem remains.
>
> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>
> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>
> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>
> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>
> Any suggestion on how to tackle this?
>
> There is a work in progress here: https://github.com/apache/tomee/pull/365
>
> Cheers
>
> --
> Bruno Baptista
> https://twitter.com/brunobat_
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
Correct, but on the TCK, the FaultToleranceDefinitionException has not
been released yet...

I was also wondering about the old version while I was going for some
tea...

I'll run the same test on the old version and see want happens.

Bruno Baptista
https://twitter.com/brunobat_


On 08/01/19 17:24, Roberto Cortez wrote:

> Hum, I wonder how was that working before with the old version?
>
> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>
> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>
>> On 8 Jan 2019, at 17:05, Bruno Baptista <[hidden email]> wrote:
>>
>> Hi folks,
>>
>> This is a status update on the upgrade of Safeguard.
>>
>> I was able to fix most issues, but a deeper problem remains.
>>
>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>
>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>
>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>
>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>
>> Any suggestion on how to tackle this?
>>
>> There is a work in progress here: https://github.com/apache/tomee/pull/365
>>
>> Cheers
>>
>> --
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

Roberto Cortez
Yes, it was using a DefinitionException, but it shouldn’t matter that much, since the problem should happen anyway as you describe.

> On 8 Jan 2019, at 17:27, Bruno Baptista <[hidden email]> wrote:
>
> Correct, but on the TCK, the FaultToleranceDefinitionException has not been released yet...
>
> I was also wondering about the old version while I was going for some tea...
>
> I'll run the same test on the old version and see want happens.
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 08/01/19 17:24, Roberto Cortez wrote:
>> Hum, I wonder how was that working before with the old version?
>>
>> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>>
>> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>>
>>> On 8 Jan 2019, at 17:05, Bruno Baptista <[hidden email]> wrote:
>>>
>>> Hi folks,
>>>
>>> This is a status update on the upgrade of Safeguard.
>>>
>>> I was able to fix most issues, but a deeper problem remains.
>>>
>>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>>
>>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>>
>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>
>>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>>
>>> Any suggestion on how to tackle this?
>>>
>>> There is a work in progress here: https://github.com/apache/tomee/pull/365
>>>
>>> Cheers
>>>
>>> --
>>> Bruno Baptista
>>> https://twitter.com/brunobat_
>>>
>>>

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
I think I found the problem.

The old version uses a different lifecycle event to declare the errors:

public void throwExceptions(@Observes AfterBeanDiscovery afterBeanDiscovery) {
     microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
}

The new one:
void addDefinitionErrors(@Observes AfterDeploymentValidation validation) {
     this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
     this.beansToValidate.clear();
}

/AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
My guess is that /AfterDeploymentValidation/ should not be used to
declare actual deployment problems.
This is probably a Safegard bug.

Cheers

Bruno Baptista
https://twitter.com/brunobat_


On 08/01/19 17:53, Roberto Cortez wrote:

> Yes, it was using a DefinitionException, but it shouldn’t matter that much, since the problem should happen anyway as you describe.
>
>> On 8 Jan 2019, at 17:27, Bruno Baptista <[hidden email]> wrote:
>>
>> Correct, but on the TCK, the FaultToleranceDefinitionException has not been released yet...
>>
>> I was also wondering about the old version while I was going for some tea...
>>
>> I'll run the same test on the old version and see want happens.
>>
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
>> On 08/01/19 17:24, Roberto Cortez wrote:
>>> Hum, I wonder how was that working before with the old version?
>>>
>>> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>>>
>>> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>>>
>>>> On 8 Jan 2019, at 17:05, Bruno Baptista <[hidden email]> wrote:
>>>>
>>>> Hi folks,
>>>>
>>>> This is a status update on the upgrade of Safeguard.
>>>>
>>>> I was able to fix most issues, but a deeper problem remains.
>>>>
>>>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>>>
>>>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>>>
>>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>>
>>>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>>>
>>>> Any suggestion on how to tackle this?
>>>>
>>>> There is a work in progress here: https://github.com/apache/tomee/pull/365
>>>>
>>>> Cheers
>>>>
>>>> --
>>>> Bruno Baptista
>>>> https://twitter.com/brunobat_
>>>>
>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
Hi,

The PR to integrate the latest Safeguard into TomEE is ready for review
here: https://github.com/apache/tomee/pull/365/

The TCK now passes with TomEE.

[INFO] Results:
[INFO]
[INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]

I'll run a full build tomorrow because this upgrades a few crosscutting
libraries.

Cheers

Bruno Baptista
https://twitter.com/brunobat_


On 08/01/19 18:06, Bruno Baptista wrote:

>
> I think I found the problem.
>
> The old version uses a different lifecycle event to declare the errors:
>
> public void throwExceptions(@Observes AfterBeanDiscovery afterBeanDiscovery) {
>      microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
> }
>
> The new one:
> void addDefinitionErrors(@Observes AfterDeploymentValidation validation) {
>      this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>      this.beansToValidate.clear();
> }
> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
> My guess is that /AfterDeploymentValidation/ should not be used to
> declare actual deployment problems.
> This is probably a Safegard bug.
>
> Cheers
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 08/01/19 17:53, Roberto Cortez wrote:
>> Yes, it was using a DefinitionException, but it shouldn’t matter that much, since the problem should happen anyway as you describe.
>>
>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>  wrote:
>>>
>>> Correct, but on the TCK, the FaultToleranceDefinitionException has not been released yet...
>>>
>>> I was also wondering about the old version while I was going for some tea...
>>>
>>> I'll run the same test on the old version and see want happens.
>>>
>>> Bruno Baptista
>>> https://twitter.com/brunobat_
>>>
>>>
>>> On 08/01/19 17:24, Roberto Cortez wrote:
>>>> Hum, I wonder how was that working before with the old version?
>>>>
>>>> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>>>>
>>>> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>>>>
>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>  wrote:
>>>>>
>>>>> Hi folks,
>>>>>
>>>>> This is a status update on the upgrade of Safeguard.
>>>>>
>>>>> I was able to fix most issues, but a deeper problem remains.
>>>>>
>>>>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>>>>
>>>>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>>>>
>>>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>>>
>>>>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>>>>
>>>>> Any suggestion on how to tackle this?
>>>>>
>>>>> There is a work in progress here:https://github.com/apache/tomee/pull/365
>>>>>
>>>>> Cheers
>>>>>
>>>>> --
>>>>> Bruno Baptista
>>>>> https://twitter.com/brunobat_
>>>>>
>>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
I've run the full build and it was green.

It should be good to go.

Bruno Baptista
https://twitter.com/brunobat_


On 09/01/19 23:24, Bruno Baptista wrote:

>
> Hi,
>
> The PR to integrate the latest Safeguard into TomEE is ready for
> review here: https://github.com/apache/tomee/pull/365/
>
> The TCK now passes with TomEE.
>
> [INFO] Results:
> [INFO]
> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
> [INFO]
> [INFO]
>
> I'll run a full build tomorrow because this upgrades a few
> crosscutting libraries.
>
> Cheers
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 08/01/19 18:06, Bruno Baptista wrote:
>>
>> I think I found the problem.
>>
>> The old version uses a different lifecycle event to declare the errors:
>>
>> public void throwExceptions(@Observes AfterBeanDiscovery afterBeanDiscovery) {
>>      microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
>> }
>>
>> The new one:
>> void addDefinitionErrors(@Observes AfterDeploymentValidation validation) {
>>      this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>>      this.beansToValidate.clear();
>> }
>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
>> My guess is that /AfterDeploymentValidation/ should not be used to
>> declare actual deployment problems.
>> This is probably a Safegard bug.
>>
>> Cheers
>>
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
>> On 08/01/19 17:53, Roberto Cortez wrote:
>>> Yes, it was using a DefinitionException, but it shouldn’t matter that much, since the problem should happen anyway as you describe.
>>>
>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>  wrote:
>>>>
>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has not been released yet...
>>>>
>>>> I was also wondering about the old version while I was going for some tea...
>>>>
>>>> I'll run the same test on the old version and see want happens.
>>>>
>>>> Bruno Baptista
>>>> https://twitter.com/brunobat_
>>>>
>>>>
>>>> On 08/01/19 17:24, Roberto Cortez wrote:
>>>>> Hum, I wonder how was that working before with the old version?
>>>>>
>>>>> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>>>>>
>>>>> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>>>>>
>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>  wrote:
>>>>>>
>>>>>> Hi folks,
>>>>>>
>>>>>> This is a status update on the upgrade of Safeguard.
>>>>>>
>>>>>> I was able to fix most issues, but a deeper problem remains.
>>>>>>
>>>>>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>>>>>
>>>>>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>>>>>
>>>>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>>>>
>>>>>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>>>>>
>>>>>> Any suggestion on how to tackle this?
>>>>>>
>>>>>> There is a work in progress here:https://github.com/apache/tomee/pull/365
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> --
>>>>>> Bruno Baptista
>>>>>> https://twitter.com/brunobat_
>>>>>>
>>>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
Talked too soon. I found some issues. Investigating now.

Bruno Baptista
https://twitter.com/brunobat_


On 10/01/19 14:34, Bruno Baptista wrote:

>
> I've run the full build and it was green.
>
> It should be good to go.
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 09/01/19 23:24, Bruno Baptista wrote:
>>
>> Hi,
>>
>> The PR to integrate the latest Safeguard into TomEE is ready for
>> review here: https://github.com/apache/tomee/pull/365/
>>
>> The TCK now passes with TomEE.
>>
>> [INFO] Results:
>> [INFO]
>> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
>> [INFO]
>> [INFO]
>>
>> I'll run a full build tomorrow because this upgrades a few
>> crosscutting libraries.
>>
>> Cheers
>>
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
>> On 08/01/19 18:06, Bruno Baptista wrote:
>>>
>>> I think I found the problem.
>>>
>>> The old version uses a different lifecycle event to declare the errors:
>>>
>>> public void throwExceptions(@Observes AfterBeanDiscovery afterBeanDiscovery) {
>>>      microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
>>> }
>>>
>>> The new one:
>>> void addDefinitionErrors(@Observes AfterDeploymentValidation validation) {
>>>      this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>>>      this.beansToValidate.clear();
>>> }
>>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
>>> My guess is that /AfterDeploymentValidation/ should not be used to
>>> declare actual deployment problems.
>>> This is probably a Safegard bug.
>>>
>>> Cheers
>>>
>>> Bruno Baptista
>>> https://twitter.com/brunobat_
>>>
>>>
>>> On 08/01/19 17:53, Roberto Cortez wrote:
>>>> Yes, it was using a DefinitionException, but it shouldn’t matter that much, since the problem should happen anyway as you describe.
>>>>
>>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>  wrote:
>>>>>
>>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has not been released yet...
>>>>>
>>>>> I was also wondering about the old version while I was going for some tea...
>>>>>
>>>>> I'll run the same test on the old version and see want happens.
>>>>>
>>>>> Bruno Baptista
>>>>> https://twitter.com/brunobat_
>>>>>
>>>>>
>>>>> On 08/01/19 17:24, Roberto Cortez wrote:
>>>>>> Hum, I wonder how was that working before with the old version?
>>>>>>
>>>>>> Are the expected exceptions new in the TCK? Looking into the code, it seems they are there since 2017, and actually you changed the expect from DefinitionException to FaultToleranceDefinitionException.
>>>>>>
>>>>>> Anyway, in the previous Safeguard version the TCK executed fine, and I guess the exception assertion was being done correctly, right?
>>>>>>
>>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>  wrote:
>>>>>>>
>>>>>>> Hi folks,
>>>>>>>
>>>>>>> This is a status update on the upgrade of Safeguard.
>>>>>>>
>>>>>>> I was able to fix most issues, but a deeper problem remains.
>>>>>>>
>>>>>>> When an app is being deployed, the /SafeguardExtension/ goes over it's annotations and if something wrong is detected, a /DefinitionException/ is thrown, as expected. This works perfectly in the standalone library.
>>>>>>>
>>>>>>> The problem is that TomEE sees that exception through OpenWebBeans, where the exception is swollen here:
>>>>>>>
>>>>>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>>>>>
>>>>>>> Thus, the Arquillian deployment doesn't receive /DefinitionException as expected/ but a /DeploymentException/.
>>>>>>>
>>>>>>> Any suggestion on how to tackle this?
>>>>>>>
>>>>>>> There is a work in progress here:https://github.com/apache/tomee/pull/365
>>>>>>>
>>>>>>> Cheers
>>>>>>>
>>>>>>> --
>>>>>>> Bruno Baptista
>>>>>>> https://twitter.com/brunobat_
>>>>>>>
>>>>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

Jean-Louis MONTEIRO
We can go step by step, it's fine if it's not perfect.
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Thu, Jan 10, 2019 at 3:43 PM Bruno Baptista <[hidden email]> wrote:

> Talked too soon. I found some issues. Investigating now.
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 10/01/19 14:34, Bruno Baptista wrote:
> >
> > I've run the full build and it was green.
> >
> > It should be good to go.
> >
> > Bruno Baptista
> > https://twitter.com/brunobat_
> >
> >
> > On 09/01/19 23:24, Bruno Baptista wrote:
> >>
> >> Hi,
> >>
> >> The PR to integrate the latest Safeguard into TomEE is ready for
> >> review here: https://github.com/apache/tomee/pull/365/
> >>
> >> The TCK now passes with TomEE.
> >>
> >> [INFO] Results:
> >> [INFO]
> >> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
> >> [INFO]
> >> [INFO]
> >>
> >> I'll run a full build tomorrow because this upgrades a few
> >> crosscutting libraries.
> >>
> >> Cheers
> >>
> >> Bruno Baptista
> >> https://twitter.com/brunobat_
> >>
> >>
> >> On 08/01/19 18:06, Bruno Baptista wrote:
> >>>
> >>> I think I found the problem.
> >>>
> >>> The old version uses a different lifecycle event to declare the errors:
> >>>
> >>> public void throwExceptions(@Observes AfterBeanDiscovery
> afterBeanDiscovery) {
> >>>
> microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
> >>> }
> >>>
> >>> The new one:
> >>> void addDefinitionErrors(@Observes AfterDeploymentValidation
> validation) {
> >>>
> this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
> >>>      this.beansToValidate.clear();
> >>> }
> >>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
> >>> My guess is that /AfterDeploymentValidation/ should not be used to
> >>> declare actual deployment problems.
> >>> This is probably a Safegard bug.
> >>>
> >>> Cheers
> >>>
> >>> Bruno Baptista
> >>> https://twitter.com/brunobat_
> >>>
> >>>
> >>> On 08/01/19 17:53, Roberto Cortez wrote:
> >>>> Yes, it was using a DefinitionException, but it shouldn’t matter that
> much, since the problem should happen anyway as you describe.
> >>>>
> >>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>  wrote:
> >>>>>
> >>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has
> not been released yet...
> >>>>>
> >>>>> I was also wondering about the old version while I was going for
> some tea...
> >>>>>
> >>>>> I'll run the same test on the old version and see want happens.
> >>>>>
> >>>>> Bruno Baptista
> >>>>> https://twitter.com/brunobat_
> >>>>>
> >>>>>
> >>>>> On 08/01/19 17:24, Roberto Cortez wrote:
> >>>>>> Hum, I wonder how was that working before with the old version?
> >>>>>>
> >>>>>> Are the expected exceptions new in the TCK? Looking into the code,
> it seems they are there since 2017, and actually you changed the expect
> from DefinitionException to FaultToleranceDefinitionException.
> >>>>>>
> >>>>>> Anyway, in the previous Safeguard version the TCK executed fine,
> and I guess the exception assertion was being done correctly, right?
> >>>>>>
> >>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>
> wrote:
> >>>>>>>
> >>>>>>> Hi folks,
> >>>>>>>
> >>>>>>> This is a status update on the upgrade of Safeguard.
> >>>>>>>
> >>>>>>> I was able to fix most issues, but a deeper problem remains.
> >>>>>>>
> >>>>>>> When an app is being deployed, the /SafeguardExtension/ goes over
> it's annotations and if something wrong is detected, a
> /DefinitionException/ is thrown, as expected. This works perfectly in the
> standalone library.
> >>>>>>>
> >>>>>>> The problem is that TomEE sees that exception through
> OpenWebBeans, where the exception is swollen here:
> >>>>>>>
> >>>>>>>
> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
> >>>>>>>
> >>>>>>> Thus, the Arquillian deployment doesn't receive
> /DefinitionException as expected/ but a /DeploymentException/.
> >>>>>>>
> >>>>>>> Any suggestion on how to tackle this?
> >>>>>>>
> >>>>>>> There is a work in progress here:
> https://github.com/apache/tomee/pull/365
> >>>>>>>
> >>>>>>> Cheers
> >>>>>>>
> >>>>>>> --
> >>>>>>> Bruno Baptista
> >>>>>>> https://twitter.com/brunobat_
> >>>>>>>
> >>>>>>>
>
   --
    Jean-Louis Monteiro
    http://twitter.com/jlouismonteiro
    http://www.tomitribe.com
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
Thanks Jean-Louis. It's appreciated. :)

The problem seems to be the testng version. Some TCK tests, on Config
and JWT don't like the new v6.14.3. Will keep the old v6.8.21 globaly
and override on the Fault Tolerance TCK.

We will have to come up with a migration plan.

I'm going to run all the tests again.

Cheers.

Bruno Baptista
https://twitter.com/brunobat_


On 10/01/19 20:11, Jean-Louis Monteiro wrote:

> We can go step by step, it's fine if it's not perfect.
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Thu, Jan 10, 2019 at 3:43 PM Bruno Baptista <[hidden email]> wrote:
>
>> Talked too soon. I found some issues. Investigating now.
>>
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
>> On 10/01/19 14:34, Bruno Baptista wrote:
>>> I've run the full build and it was green.
>>>
>>> It should be good to go.
>>>
>>> Bruno Baptista
>>> https://twitter.com/brunobat_
>>>
>>>
>>> On 09/01/19 23:24, Bruno Baptista wrote:
>>>> Hi,
>>>>
>>>> The PR to integrate the latest Safeguard into TomEE is ready for
>>>> review here: https://github.com/apache/tomee/pull/365/
>>>>
>>>> The TCK now passes with TomEE.
>>>>
>>>> [INFO] Results:
>>>> [INFO]
>>>> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
>>>> [INFO]
>>>> [INFO]
>>>>
>>>> I'll run a full build tomorrow because this upgrades a few
>>>> crosscutting libraries.
>>>>
>>>> Cheers
>>>>
>>>> Bruno Baptista
>>>> https://twitter.com/brunobat_
>>>>
>>>>
>>>> On 08/01/19 18:06, Bruno Baptista wrote:
>>>>> I think I found the problem.
>>>>>
>>>>> The old version uses a different lifecycle event to declare the errors:
>>>>>
>>>>> public void throwExceptions(@Observes AfterBeanDiscovery
>> afterBeanDiscovery) {
>> microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
>>>>> }
>>>>>
>>>>> The new one:
>>>>> void addDefinitionErrors(@Observes AfterDeploymentValidation
>> validation) {
>> this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>>>>>       this.beansToValidate.clear();
>>>>> }
>>>>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
>>>>> My guess is that /AfterDeploymentValidation/ should not be used to
>>>>> declare actual deployment problems.
>>>>> This is probably a Safegard bug.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Bruno Baptista
>>>>> https://twitter.com/brunobat_
>>>>>
>>>>>
>>>>> On 08/01/19 17:53, Roberto Cortez wrote:
>>>>>> Yes, it was using a DefinitionException, but it shouldn’t matter that
>> much, since the problem should happen anyway as you describe.
>>>>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>  wrote:
>>>>>>>
>>>>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has
>> not been released yet...
>>>>>>> I was also wondering about the old version while I was going for
>> some tea...
>>>>>>> I'll run the same test on the old version and see want happens.
>>>>>>>
>>>>>>> Bruno Baptista
>>>>>>> https://twitter.com/brunobat_
>>>>>>>
>>>>>>>
>>>>>>> On 08/01/19 17:24, Roberto Cortez wrote:
>>>>>>>> Hum, I wonder how was that working before with the old version?
>>>>>>>>
>>>>>>>> Are the expected exceptions new in the TCK? Looking into the code,
>> it seems they are there since 2017, and actually you changed the expect
>> from DefinitionException to FaultToleranceDefinitionException.
>>>>>>>> Anyway, in the previous Safeguard version the TCK executed fine,
>> and I guess the exception assertion was being done correctly, right?
>>>>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>
>> wrote:
>>>>>>>>> Hi folks,
>>>>>>>>>
>>>>>>>>> This is a status update on the upgrade of Safeguard.
>>>>>>>>>
>>>>>>>>> I was able to fix most issues, but a deeper problem remains.
>>>>>>>>>
>>>>>>>>> When an app is being deployed, the /SafeguardExtension/ goes over
>> it's annotations and if something wrong is detected, a
>> /DefinitionException/ is thrown, as expected. This works perfectly in the
>> standalone library.
>>>>>>>>> The problem is that TomEE sees that exception through
>> OpenWebBeans, where the exception is swollen here:
>>>>>>>>>
>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
>>>>>>>>> Thus, the Arquillian deployment doesn't receive
>> /DefinitionException as expected/ but a /DeploymentException/.
>>>>>>>>> Any suggestion on how to tackle this?
>>>>>>>>>
>>>>>>>>> There is a work in progress here:
>> https://github.com/apache/tomee/pull/365
>>>>>>>>> Cheers
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Bruno Baptista
>>>>>>>>> https://twitter.com/brunobat_
>>>>>>>>>
>>>>>>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

brunobat
The new test run was successful.

It's ready for review.

Bruno Baptista
https://twitter.com/brunobat_


On 10/01/19 21:49, Bruno Baptista wrote:

> Thanks Jean-Louis. It's appreciated. :)
>
> The problem seems to be the testng version. Some TCK tests, on Config
> and JWT don't like the new v6.14.3. Will keep the old v6.8.21 globaly
> and override on the Fault Tolerance TCK.
>
> We will have to come up with a migration plan.
>
> I'm going to run all the tests again.
>
> Cheers.
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 10/01/19 20:11, Jean-Louis Monteiro wrote:
>> We can go step by step, it's fine if it's not perfect.
>> --
>> Jean-Louis Monteiro
>> http://twitter.com/jlouismonteiro
>> http://www.tomitribe.com
>>
>>
>> On Thu, Jan 10, 2019 at 3:43 PM Bruno Baptista <[hidden email]>
>> wrote:
>>
>>> Talked too soon. I found some issues. Investigating now.
>>>
>>> Bruno Baptista
>>> https://twitter.com/brunobat_
>>>
>>>
>>> On 10/01/19 14:34, Bruno Baptista wrote:
>>>> I've run the full build and it was green.
>>>>
>>>> It should be good to go.
>>>>
>>>> Bruno Baptista
>>>> https://twitter.com/brunobat_
>>>>
>>>>
>>>> On 09/01/19 23:24, Bruno Baptista wrote:
>>>>> Hi,
>>>>>
>>>>> The PR to integrate the latest Safeguard into TomEE is ready for
>>>>> review here: https://github.com/apache/tomee/pull/365/
>>>>>
>>>>> The TCK now passes with TomEE.
>>>>>
>>>>> [INFO] Results:
>>>>> [INFO]
>>>>> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
>>>>> [INFO]
>>>>> [INFO]
>>>>>
>>>>> I'll run a full build tomorrow because this upgrades a few
>>>>> crosscutting libraries.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Bruno Baptista
>>>>> https://twitter.com/brunobat_
>>>>>
>>>>>
>>>>> On 08/01/19 18:06, Bruno Baptista wrote:
>>>>>> I think I found the problem.
>>>>>>
>>>>>> The old version uses a different lifecycle event to declare the
>>>>>> errors:
>>>>>>
>>>>>> public void throwExceptions(@Observes AfterBeanDiscovery
>>> afterBeanDiscovery) {
>>> microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
>>>
>>>>>> }
>>>>>>
>>>>>> The new one:
>>>>>> void addDefinitionErrors(@Observes AfterDeploymentValidation
>>> validation) {
>>> this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>>>
>>>>>> this.beansToValidate.clear();
>>>>>> }
>>>>>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
>>>>>> My guess is that /AfterDeploymentValidation/ should not be used to
>>>>>> declare actual deployment problems.
>>>>>> This is probably a Safegard bug.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Bruno Baptista
>>>>>> https://twitter.com/brunobat_
>>>>>>
>>>>>>
>>>>>> On 08/01/19 17:53, Roberto Cortez wrote:
>>>>>>> Yes, it was using a DefinitionException, but it shouldn’t matter
>>>>>>> that
>>> much, since the problem should happen anyway as you describe.
>>>>>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has
>>> not been released yet...
>>>>>>>> I was also wondering about the old version while I was going for
>>> some tea...
>>>>>>>> I'll run the same test on the old version and see want happens.
>>>>>>>>
>>>>>>>> Bruno Baptista
>>>>>>>> https://twitter.com/brunobat_
>>>>>>>>
>>>>>>>>
>>>>>>>> On 08/01/19 17:24, Roberto Cortez wrote:
>>>>>>>>> Hum, I wonder how was that working before with the old version?
>>>>>>>>>
>>>>>>>>> Are the expected exceptions new in the TCK? Looking into the
>>>>>>>>> code,
>>> it seems they are there since 2017, and actually you changed the expect
>>> from DefinitionException to FaultToleranceDefinitionException.
>>>>>>>>> Anyway, in the previous Safeguard version the TCK executed fine,
>>> and I guess the exception assertion was being done correctly, right?
>>>>>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>
>>> wrote:
>>>>>>>>>> Hi folks,
>>>>>>>>>>
>>>>>>>>>> This is a status update on the upgrade of Safeguard.
>>>>>>>>>>
>>>>>>>>>> I was able to fix most issues, but a deeper problem remains.
>>>>>>>>>>
>>>>>>>>>> When an app is being deployed, the /SafeguardExtension/ goes
>>>>>>>>>> over
>>> it's annotations and if something wrong is detected, a
>>> /DefinitionException/ is thrown, as expected. This works perfectly
>>> in the
>>> standalone library.
>>>>>>>>>> The problem is that TomEE sees that exception through
>>> OpenWebBeans, where the exception is swollen here:
>>>>>>>>>>
>>> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129 
>>>
>>>>>>>>>> Thus, the Arquillian deployment doesn't receive
>>> /DefinitionException as expected/ but a /DeploymentException/.
>>>>>>>>>> Any suggestion on how to tackle this?
>>>>>>>>>>
>>>>>>>>>> There is a work in progress here:
>>> https://github.com/apache/tomee/pull/365
>>>>>>>>>> Cheers
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Bruno Baptista
>>>>>>>>>> https://twitter.com/brunobat_
>>>>>>>>>>
>>>>>>>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade to Safeguard 1.2

Jean-Louis MONTEIRO
Ok i have reviewed it and it’s good to go. Lemme merge it for you.

Le ven. 11 janv. 2019 à 09:07, Bruno Baptista <[hidden email]> a écrit :

> The new test run was successful.
>
> It's ready for review.
>
> Bruno Baptista
> https://twitter.com/brunobat_
>
>
> On 10/01/19 21:49, Bruno Baptista wrote:
> > Thanks Jean-Louis. It's appreciated. :)
> >
> > The problem seems to be the testng version. Some TCK tests, on Config
> > and JWT don't like the new v6.14.3. Will keep the old v6.8.21 globaly
> > and override on the Fault Tolerance TCK.
> >
> > We will have to come up with a migration plan.
> >
> > I'm going to run all the tests again.
> >
> > Cheers.
> >
> > Bruno Baptista
> > https://twitter.com/brunobat_
> >
> >
> > On 10/01/19 20:11, Jean-Louis Monteiro wrote:
> >> We can go step by step, it's fine if it's not perfect.
> >> --
> >> Jean-Louis Monteiro
> >> http://twitter.com/jlouismonteiro
> >> http://www.tomitribe.com
> >>
> >>
> >> On Thu, Jan 10, 2019 at 3:43 PM Bruno Baptista <[hidden email]>
> >> wrote:
> >>
> >>> Talked too soon. I found some issues. Investigating now.
> >>>
> >>> Bruno Baptista
> >>> https://twitter.com/brunobat_
> >>>
> >>>
> >>> On 10/01/19 14:34, Bruno Baptista wrote:
> >>>> I've run the full build and it was green.
> >>>>
> >>>> It should be good to go.
> >>>>
> >>>> Bruno Baptista
> >>>> https://twitter.com/brunobat_
> >>>>
> >>>>
> >>>> On 09/01/19 23:24, Bruno Baptista wrote:
> >>>>> Hi,
> >>>>>
> >>>>> The PR to integrate the latest Safeguard into TomEE is ready for
> >>>>> review here: https://github.com/apache/tomee/pull/365/
> >>>>>
> >>>>> The TCK now passes with TomEE.
> >>>>>
> >>>>> [INFO] Results:
> >>>>> [INFO]
> >>>>> [INFO] Tests run: 213, Failures: 0, Errors: 0, Skipped: 0
> >>>>> [INFO]
> >>>>> [INFO]
> >>>>>
> >>>>> I'll run a full build tomorrow because this upgrades a few
> >>>>> crosscutting libraries.
> >>>>>
> >>>>> Cheers
> >>>>>
> >>>>> Bruno Baptista
> >>>>> https://twitter.com/brunobat_
> >>>>>
> >>>>>
> >>>>> On 08/01/19 18:06, Bruno Baptista wrote:
> >>>>>> I think I found the problem.
> >>>>>>
> >>>>>> The old version uses a different lifecycle event to declare the
> >>>>>> errors:
> >>>>>>
> >>>>>> public void throwExceptions(@Observes AfterBeanDiscovery
> >>> afterBeanDiscovery) {
> >>>
> microProfileValidator.forThrowable(afterBeanDiscovery::addDefinitionError);
> >>>
> >>>>>> }
> >>>>>>
> >>>>>> The new one:
> >>>>>> void addDefinitionErrors(@Observes AfterDeploymentValidation
> >>> validation) {
> >>>
> this.beansToValidate.stream().map(this::validate).filter(Objects::nonNull).forEach(validation::addDeploymentProblem);
>
> >>>
> >>>>>> this.beansToValidate.clear();
> >>>>>> }
> >>>>>> /AfterBeanDiscovery/ happens before /AfterDeploymentValidation/.
> >>>>>> My guess is that /AfterDeploymentValidation/ should not be used to
> >>>>>> declare actual deployment problems.
> >>>>>> This is probably a Safegard bug.
> >>>>>>
> >>>>>> Cheers
> >>>>>>
> >>>>>> Bruno Baptista
> >>>>>> https://twitter.com/brunobat_
> >>>>>>
> >>>>>>
> >>>>>> On 08/01/19 17:53, Roberto Cortez wrote:
> >>>>>>> Yes, it was using a DefinitionException, but it shouldn’t matter
> >>>>>>> that
> >>> much, since the problem should happen anyway as you describe.
> >>>>>>>> On 8 Jan 2019, at 17:27, Bruno Baptista<[hidden email]>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>> Correct, but on the TCK, the FaultToleranceDefinitionException has
> >>> not been released yet...
> >>>>>>>> I was also wondering about the old version while I was going for
> >>> some tea...
> >>>>>>>> I'll run the same test on the old version and see want happens.
> >>>>>>>>
> >>>>>>>> Bruno Baptista
> >>>>>>>> https://twitter.com/brunobat_
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On 08/01/19 17:24, Roberto Cortez wrote:
> >>>>>>>>> Hum, I wonder how was that working before with the old version?
> >>>>>>>>>
> >>>>>>>>> Are the expected exceptions new in the TCK? Looking into the
> >>>>>>>>> code,
> >>> it seems they are there since 2017, and actually you changed the expect
> >>> from DefinitionException to FaultToleranceDefinitionException.
> >>>>>>>>> Anyway, in the previous Safeguard version the TCK executed fine,
> >>> and I guess the exception assertion was being done correctly, right?
> >>>>>>>>>> On 8 Jan 2019, at 17:05, Bruno Baptista<[hidden email]>
> >>> wrote:
> >>>>>>>>>> Hi folks,
> >>>>>>>>>>
> >>>>>>>>>> This is a status update on the upgrade of Safeguard.
> >>>>>>>>>>
> >>>>>>>>>> I was able to fix most issues, but a deeper problem remains.
> >>>>>>>>>>
> >>>>>>>>>> When an app is being deployed, the /SafeguardExtension/ goes
> >>>>>>>>>> over
> >>> it's annotations and if something wrong is detected, a
> >>> /DefinitionException/ is thrown, as expected. This works perfectly
> >>> in the
> >>> standalone library.
> >>>>>>>>>> The problem is that TomEE sees that exception through
> >>> OpenWebBeans, where the exception is swollen here:
> >>>>>>>>>>
> >>>
> https://github.com/apache/openwebbeans/blob/4c7ee3d192b56cc74e5218f99f7e7f5a78e60d56/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java#L1129
> >>>
> >>>>>>>>>> Thus, the Arquillian deployment doesn't receive
> >>> /DefinitionException as expected/ but a /DeploymentException/.
> >>>>>>>>>> Any suggestion on how to tackle this?
> >>>>>>>>>>
> >>>>>>>>>> There is a work in progress here:
> >>> https://github.com/apache/tomee/pull/365
> >>>>>>>>>> Cheers
> >>>>>>>>>>
> >>>>>>>>>> --
> >>>>>>>>>> Bruno Baptista
> >>>>>>>>>> https://twitter.com/brunobat_
> >>>>>>>>>>
> >>>>>>>>>>
>
--
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com
   --
    Jean-Louis Monteiro
    http://twitter.com/jlouismonteiro
    http://www.tomitribe.com