users@glassfish.java.net

RE: Dissapointed

From: Martin Gainty <mgainty_at_hotmail.com>
Date: Tue, 14 Jul 2009 07:52:52 -0400

mg>hopefully quick comments

> Date: Mon, 13 Jul 2009 18:56:06 -0700
> From: adamjenkinstmpredirect_at_yahoo.com.au
> To: users_at_glassfish.dev.java.net
> Subject: Re: Dissapointed
>
> WOOHOOOOOO! These bugs are linux only!!!!!!
>
> Dies, you're a legend, it didn't even occur to me to test Windows to see if it worked...I just assumed platform independence meant it would be the same...but I confirmed it works fine on windows.
>
> I have the day off tomorrow, so I might try another Linux distro and also try open solaris in a virtual machine and see if it's a *nix bug, or if it's just a Linux bug.
>
> I've stalled a JBoss migration pending investigation into moving to Unix or a different linux distro!
>
> Thanks so much for your assistance with this.
>
> --- On Mon, 13/7/09, Dies Koper <diesk_at_fast.au.fujitsu.com> wrote:
>
> > From: Dies Koper <diesk_at_fast.au.fujitsu.com>
> > Subject: Re: Dissapointed
> > To: users_at_glassfish.dev.java.net
> > Received: Monday, 13 July, 2009, 2:20 PM
> > Please do let us know if you can
> > reproduce the issue on GFv2.1 + Windows
> > and GFv2.1.1 (latest build) on Ubuntu.
> >
> > Adam Jenkins wrote:
> > > Technically you could run an SSB in your web tier, but
> > that causes
> > > two problems
> > >
> > > 1) Seperation of concerns would be violated...from a
> > design point of
> > > view that's not great...I mean, if I was going to
> > bleed between
> > > layers like that I might as well drop EJBs all
> > together and just pull
> > > directly from the database into objects.
mg>this definition from Hans Donner
mg>DTO is to be used to transfer data (whole chunks of it), so only one
object needs to mg>be transferred instead of multiple smaller ones.

mg>VO are objects that only hold a readonly value. The example I've
seen used in a book mg>(I though it was Beck) was A money(bag) object.
It's created with a value. If money mg>is added, a new instance is
returned instead of an updated one.
mg>http://www.theserverside.com/discussions/thread.tss?thread_id=20973

> > >
> > > 2) You're not supposed to write to a file from an SSB
> > (good 'ol
> > > fashioned EJB specification constraints), since it's a
> > distributed
> > > system.
mg>you're not supposed to write SSB but people do this all the time..take a look at tc mg>users list
mg>the container is supposed to write a serialised representation of object on mg>ejbPassivate and read back serialised object when ejbActivate is called..entity and mg>stateless beans remain in pool
mg>http://www.jguru.com/faq/view.jsp?EID=1195

> > >
> > > The closest you could come (and still not violate the
> > spec) is to
> > > have your EJB call a web service which then generated
mg>think twice about increasing network latency introduced from a SOA call
mg>then again if your pathping call to SOA in next room is under 1 sec this may well be mg>effort

> > the includes,
> > > but that's just a complete cludge and pretty
> > messy. Ultimately, this
> > > isn't a problem with using a timer, even if I went to
> > something like
> > > Quartz I'd still have the same problem. This is
> > a problem with
> > > RMI/IIOP between a web/ejb tier.
mg>notice how many sys-admins avoid the problem by not implementing iiop?

mg> This same error
> > happens from
> > > ServletContextListeners
mg>generally events make a local reference so theres no latency/timeout issues here
mg>http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContextListener.html

 HttpSessionListeners
mg>generally handled by acceptor threads for http-listener-1 in /config/domain.xml
mg>--acceptorthreads
mg>number of acceptor threads for the listen socket. The recommended value is the mg>number of processors in the machine.
mg>http://docs.sun.com/source/817-6092/hman1/create-http-listener.1.html

mg>grand kudos on narrowing the conditions that cause the error!
mg>martin gainty

> > not related to
> > > the timer at all
> > >
> > >
> > > --- On Mon, 13/7/09, Dies Koper <diesk_at_fast.au.fujitsu.com>
> > wrote:
> > >
> > >> From: Dies Koper <diesk_at_fast.au.fujitsu.com>
> > Subject: Re:
> > >> Dissapointed To: users_at_glassfish.dev.java.net
> > Received: Monday, 13
> > >> July, 2009, 1:47 PM Hi Adam,
> > >>
> > >> Can't an EJB Timer running in your "web" tier do
> > anything your
> > >> java.util.TimerTask can, maybe better because it
> > uses container
> > >> managed call-backs?
> > >>
> > >> Regards, Dies
> > >>
> > >>
> > >> Adam Jenkins wrote:
> > >>> I can't use an EJB Timer for this particular
> > problem
> > >> as it involves
> > >>> generating reports, that then get served from
> > a jsp
> > >> c:import. So it
> > >>> generates a range of reports directly into the
> > web
> > >> directory. This
> > >>> is done because the pages are too big to
> > serve
> > >> directly (large
> > >>> reports)...since it's on the web tier not the
> > ejb tier
> > >> it has to be a
> > >>> timer.
> > >>>
> > >>>
> > >>> --- On Mon, 13/7/09, Dies Koper <diesk_at_fast.au.fujitsu.com>
> > >> wrote:
> > >>>> From: Dies Koper <diesk_at_fast.au.fujitsu.com>
> > >> Subject: Re:
> > >>>> Dissapointed To: users_at_glassfish.dev.java.net
> > >> Received: Monday, 13
> > >>>> July, 2009, 10:53 AM Hi Adam,
> > >>>>
> > >>>>> I have two instances, under the
> > management of
> > >> one node
> > >>>> agent...is
> > >>>>> that what you mean by 'clusters', or
> > have you
> > >> set up
> > >>>> something else
> > >>>>> that I missed...this might be the
> > problem.
> > >>>> When I use GlassFish in cluster mode (i.e.
> > with a
> > >> node agent), I
> > >>>> create a cluster with in it an instance
> > ("asadmin
> > >> create-cluster
> > >>>> cl1" followed by "asadmin create-instance
> > -cluster
> > >> . I've never
> > >>>> used "single" instances that are not
> > assigned to a
> > >> cluster (except
> > >>>> for the DAS server of course). But I
> > suppose that
> > >> should not
> > >>>> matter?
> > >>>>
> > >>>> Also, I'm still wondering about your use
> > of a
> > >> java.util.Timer
> > >>>> instead of an EJB Timer. If you can
> > somehow
> > >> rewrite your
> > >>>> application to use an EJB Timer instead,
> > you'd be
> > >> using a pattern
> > >>>> that more other users would be using, so
> > less risk
> > >> of running into
> > >>>> new bugs. Can't you deploy a simple SLSB
> > with your
> > >> web application (so in the "web1" instance) with
> > an EJB Timer
> > >> callback method that
> > >>>> polls the application in your
> > "enterprise1"
> > >> instance?
> > >>>> Regards, Dies
> > >>>>
> > >>>>
> > >>>> Adam Jenkins wrote:
> > >>>>> Cheers Dies for looking into
> > this. I'll
> > >> try
> > >>>> reducing the timer to
> > >>>>> one minute and see what happens.
> > >>>>>
> > >>>>> A few things that may assist us in a
> > >> differential
> > >>>> diagnosis.
> > >>>>> Linux vs Window - I notice you're on
> > windows,
> > >> I'm on
> > >>>> ubuntu...I'm
> > >>>>> going to try this on window tonight
> > and see if
> > >> the
> > >>>> problem persists
> > >>>>> JMS Remote vs Local -- I tried Remote
> > today
> > >> and still
> > >>>> got the
> > >>>>> problem, so that rules out that.
> > >>>>>
> > >>>>> I have two instances, under the
> > management of
> > >> one node
> > >>>> agent...is
> > >>>>> that what you mean by 'clusters', or
> > have you
> > >> set up
> > >>>> something else
> > >>>>> that I missed...this might be the
> > problem.
> > >>>>>
> > >>>>> I still get the error with a timeout
> > down to
> > >> 60
> > >>>> seconds...so I think
> > >>>>> it may be one of the above...hopefully
> > it's
> > >> something
> > >>>> as simple as
> > >>>>> needing a new version, or windows v
> > linux.
> > >>>>>
> > >>>>> Thanks for the feedback, it's opened
> > up new
> > >> avenues
> > >>>> for
> > >>>>> investigation, hopefully I can stall
> > for a few
> > >> more
> > >>>> days because I'd
> > >>>>> really love to go into production with
> > gf.
> > >>>>>
> > >>>>> --- On Sun, 12/7/09, Dies Koper <diesk_at_fast.au.fujitsu.com>
> > >>>> wrote:
> > >>>>>> From: Dies Koper <diesk_at_fast.au.fujitsu.com>
> > >>>> Subject: Re:
> > >>>>>> Dissapointed To: users_at_glassfish.dev.java.net
> > >>>> Received: Sunday, 12
> > >>>>>> July, 2009, 4:35 PM Hi Adam,
> > >>>>>>
> > >>>>>> I have deployed the application to
> > the
> > >> latest
> > >>>> promoted build of GF
> > >>>>>> V2.1.1, and I did not see any
> > error
> > >> messages.
> > >>>>>> This is my environment: -
> > >> glassfish-installer-v2.1.1-b22-windows.jar -
> > >>>> JDK1.5 - JMS broker in
> > >>>>>> REMOTE mode - used "localhost" for
> > the
> > >> host name
> > >>>> in the corbaname,
> > >>>>>> with the same port you used.
> > >>>>>>
> > >>>>>> I used two different clusters for
> > the two
> > >>>> instances. I commented
> > >>>>>> out your injection of the
> > >> jms/PrepareReports into
> > >>>> a java.util.Queue
> > >>>>>> to get rid of those unrelated
> > error
> > >> messages.
> > >>>>>> I wonder whether our fix for issue
> > 8350
> > >> is
> > >>>> related.
> > >>>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=8350
> > >>>>
> > >>>>>> I hope this information helps you
> > and
> > >> others
> > >>>> pinpoint what could be
> > >>>>>> causing the problems you've seen.
> > >>>>>>
> > >>>>>> I also reduced your timer period
> > to a 1
> > >> minute
> > >>>> interval, and see no
> > >>>>>> IIOP timeouts even after 20 calls.
> > I did
> > >> see the
> > >>>> following IIOP
> > >>>>>> warning about a minute before the
> > EJB
> > >> invocations
> > >>>> started:
> > >>
> > [#|2009-07-12T15:59:52.218+1000|WARNING|sun-appserver2.1|javax.enterprise.resource.corba.ee.S1AS-ORB.rpc.transport|_ThreadID=19;_ThreadName=p:
> > >>
> > >>>>>> thread-pool-1; w:
> > >>
> > 3;6000;7280;;_RequestID=8940ea7e-e092-4d6d-8611-bea52f07358c;|"IOP00410229:
> > >>
> > >>>>>> (COMM_FAILURE) Blocking read
> > failed,
> > >>>> expected to read additional
> > >>>>>> bytes: max wait time =
> > 6,000ms total
> > >> time
> > >>>> spent waiting = 7,280ms"
> > >>
> > org.omg.CORBA.COMM_FAILURE: vmcid:
> > SUN minor code: 229
> > >>>>>> completed: No at
> > >>
> > com.sun.corba.ee.impl.logging.ORBUtilSystemException.blockingReadTimeout(ORBUtilSystemException.java:3569)
> > >>
> > >>>>>> at
> > >>
> > com.sun.corba.ee.impl.logging.ORBUtilSystemException.blockingReadTimeout(ORBUtilSystemException.java:3593)
> > >>
> > >>>>>> at
> > >>
> > com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.blockingRead(SocketOrChannelConnectionImpl.java:1863)
> > >>
> > >>>>>> at
> > >>
> > com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doOptimizedReadStrategy(SocketOrChannelConnectionImpl.java:1733)
> > >>
> > >>>>>> at
> > >>
> > com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1263)
> > >>
> > >>>>>> at
> > >>
> > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
> > >>
> > >>>>>> |#]
> > >>>>>>
> > >>>>>> Regards, Dies
> > >>>>>>
> > >>>>>>
> > >>>>>> Adam Jenkins wrote:
> > >>>>>>> The issues are
> > >>>>>>>
> > >>>>>>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=8589
> > >>>>>>>
> > >>>>>> and
> > >>>>>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=8590
> > >>>>>>> The first one has a netbeans
> > project
> > >> attached
> > >>>> that
> > >>>>>> reproduces things.
> > >>>>>>> Unfortunately I'm not able to
> > point
> > >> you at the
> > >>>> source
> > >>>>>> (glassfish
> > >>>>>>> source) as I don't know.
> > It's
> > >> the
> > >>>> weekend here
> > >>>>>> at the moment, and I
> > >>>>>>> don't have to start moving to
> > JBoss
> > >> until next
> > >>>> week so
> > >>>>>> I'm going to
> > >>>>>>> have an attempt at checking
> > out the
> > >> glassfish
> > >>>> source
> > >>>>>> today and hoping
> > >>>>>>> for a miracle :)
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> > For additional commands, e-mail: users-help_at_glassfish.dev.java.net
> >
> >
>
>
> ____________________________________________________________________________________
> Access Yahoo!7 Mail on your mobile. Anytime. Anywhere.
> Show me how: http://au.mobile.yahoo.com/mail
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>

_________________________________________________________________
Windows Live™: Keep your life in sync.
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_BR_life_in_synch_062009