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). Alexander > Any better ideas? > Thanx, > Tomas > _______________________________________________ > Devel mailing list > [email protected] > http://lists.ovirt.org/mailman/listinfo/devel _______________________________________________ Devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/devel
