On Monday, June 01, 2015 04:09:08 PM Michal Skrivanek wrote:
On Jun 1, 2015, at 15:59 , Tomas Jelinek <tjelinek(a)redhat.com>
wrote:
> ----- Original Message -----
>
>> From: "Liran Zelkha" <lzelkha(a)redhat.com>
>> To: "Tomas Jelinek" <tjelinek(a)redhat.com>
>> Cc: awels(a)redhat.com, devel(a)ovirt.org
>> Sent: Monday, June 1, 2015 3:56:03 PM
>> Subject: Re: [ovirt-devel] hibernate's internal PersistentBag sent to FE
>>
>> Guys,
>>
>> Why is
https://gerrit.ovirt.org/#/c/40804/ not enough?
>
> because the PersistenBag has an inner property "bag" and FE fails on
bunch
> of NPEs because of it>
>> Where do you get these errors?
>
> open debug mode and load webadmin - you will see loads of NPEs
does this happen in normal mode too?
It does not appear to happen in Chrome, but I have some open bugzillas about
unexplained null pointer exceptions in IE (the null pointers are during
transfer of objects), which may or may not be related to this problem.
Regardless doing any work in the GWT debugger is impossible right now due to
these exceptions.
>>> On Jun 1, 2015, at 4:33 PM, Tomas Jelinek
<tjelinek(a)redhat.com> wrote:
>>>
>>>
>>>
>>> ----- Original Message -----
>>>
>>>> From: "Alexander Wels" <awels(a)redhat.com>
>>>> To: devel(a)ovirt.org
>>>> Cc: "Tomas Jelinek" <tjelinek(a)redhat.com>, "Liran
Zelkha"
>>>> <lzelkha(a)redhat.com>
>>>> Sent: Monday, June 1, 2015 3:16:34 PM
>>>> Subject: Re: [ovirt-devel] hibernate's internal PersistentBag sent
to
>>>> FE
>>>>
>>>>> On Monday, June 01, 2015 09:08:50 AM Tomas Jelinek wrote:
>>>>> Hey all,
>>>>>
>>>>> since the org.ovirt.engine.core.common.job.Job/Step... has been
moved
>>>>> to
>>>>> use
>>>>> the JPA we have a problem on frontend. The problem is that the
>>>>> @OneToMany
>>>>> annotations results in a List which is of type PersistentBag. When
we
>>>>> send
>>>>> this to Frontend it fails during deserialization. It actually fails
>>>>> quite
>>>>> bad because the FE already has an ui-override of it which is not
>>>>> correct
>>>>> resulting in a ton of NPEs in development mode.
>>>>>
>>>>> So, there are 2 nasty fixes I have made where none of them should
be
>>>>> merged
>>>>> but demonstrate the possibilities: 1: extend the FE to be able to
work
>>>>> with
>>>>> the PersistentBag (
https://gerrit.ovirt.org/#/c/41682/) not really
>>>>> good
>>>>> solution since the PersistenBag is an internal Hibernate class
which
>>>>> is
>>>>> really not meant to be passed around
>>>>>
>>>>> 2: fix on the backend to not send the PersistentBag but an
ArrayList.
>>>>> This
>>>>> is only a PoC fixed on a command we face the problem
>>>>> (
https://gerrit.ovirt.org/#/c/41797/) Obviously this is not going
to
>>>>> work
>>>>> for other commands accessing the same Job nor for other entities.
>>>>>
>>>>> So, the first option is generic but very very bad. The second
option
>>>>> should
>>>>> be used but not sure how to do this in a cheep way (e.g. without
using
>>>>> reflection to deep traverse everything sent back to frontend
checking
>>>>> if
>>>>> it
>>>>> does not have a PersistentBag in it.
>>>>
>>>> Tomas,
>>>>
>>>> Thanks, I was investigating the same issue, I noticed it last Friday
>>>> just
>>>> before leaving, so I was investigating the problem to see what was
>>>> going
>>>> on.
>>>> You are right we should not be sending PersistentBag to the frontend at
>>>> all.
>>>> So how about we do a combination of [1] and [2], but instead of
>>>> delegating
>>>> in
>>>> [1] we actually simple throw an exception stating don't sent
>>>> PersistentBag
>>>> to
>>>> the front end. that way anyone inadvertently using it will be notified
>>>> immediately (since their code won't work).
>>>
>>> Throwing the exception would help us in debugging but the main question
>>> is
>>> how will we make it work?
>>> Since we are planning to move more and more to JPA so we will face this
>>> issue more and more often.
>>> Solving it one by one on backend in each command is not going to work.
>>>
>>>> Alexander
>>>>
>>>>> Any better ideas?
>>>>> Thanx,
>>>>> Tomas
>>>>> _______________________________________________
>>>>> Devel mailing list
>>>>> Devel(a)ovirt.org
>>>>>
http://lists.ovirt.org/mailman/listinfo/devel
>
> _______________________________________________
> Devel mailing list
> Devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________
Devel mailing list
Devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel