Re: Prevayler-Discussion Digest, Vol 43, Issue 8
Robert Friberg <[email protected]>
| Newsgroups | gmane.comp.java.prevayler |
|---|---|
| Message-ID | <[email protected]> |
I sympathize with Angelo 100%. Signal to noise ratio becomes especially ridiculous when replying to a digest mesage, like Im doing right now. Bonus points for the useless subject line. Good practical tips from Klaus but.. Mailing lists are so 1996. Why not move to a forum? And while were at it why not broaden the subject to prevalence in general, perhaps with implementation specific subfora. Stackoverflow is pretty awesome. Sent from my iPad On 29 okt 2011, at 00:54, "[email protected]" <[email protected]> wrote: > Send Prevayler-Discussion mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/prevayler-discussion > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Prevayler-Discussion digest..." > > > Today's Topics: > > 1. [offtopic] Prevayler-Discussion Digest, Vol 43, Issue 7 > (Angelo Schneider) > 2. Re: [offtopic] Prevayler-Discussion Digest, Vol 43, Issue 7 > (Klaus Wuestefeld) > 3. Re: Web App Mirroring (Klaus Wuestefeld) > 4. Type-safe Prevayler, using generics (Naveen Chawla) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Fri, 14 Oct 2011 16:54:31 +0200 > From: Angelo Schneider <[email protected]> > Subject: [Prevayler-discussion] [offtopic] Prevayler-Discussion > Digest, Vol 43, Issue 7 > To: [email protected] > Message-ID: <[email protected]> > Content-Type: text/plain; charset=us-ascii > > Hm :) > > seems times are changing ... to much. > > Once when we invented eMail, it was common to DELETE all old text which is not needed anymore for citation. > > Now everyone adds an answer to a text on the top. Top Answer Bottom Full Quote or something like this it was called. > > Please, for mailing lists, especially for those who receive digests, like me: remove all text you are not commenting on. > > It is so much more easy to read then ... and the digest is 90% smaller. > > Sorry, I don't want to "teach" anyone, but when the internet was "invented" people also "agreed" on netiquette. I assume most people are to young to ever have heard about this, but this site: http://en.wikipedia.org/wiki/Posting_style will give you an idea. > > Keep in mind, we are on a MAILING LIST: everyone gets every email. Usually in the order it was sent in. So it is a waste of everything: energy, bandwidth, storage and most importantly: TIME in RL of the reader who has to check if more important stuff is following ... and is disappointed to read only AGAIN a quoted part that contains other quoted parts of other messages that contain quoted parts again of all the messages he already has read! > > Sorry for this, but on this mailing list for some reason this "modern way of quoting" is abused to the extreme. > > Best Regards, > > Angelo > > privat: -------------------- www.oomentor.de -------------------------- > Angelo Schneider OOAD/UML [email protected] > Putlitzstr. 24 Patterns/FrameWorks Fon: +49 721 9812465 > 76137 Karlsruhe C++/JAVA Mob: +49 172 9873893 > > > > > > > > ------------------------------ > > Message: 2 > Date: Fri, 14 Oct 2011 12:08:55 -0300 > From: Klaus Wuestefeld <[email protected]> > Subject: Re: [Prevayler-discussion] [offtopic] Prevayler-Discussion > Digest, Vol 43, Issue 7 > To: "Open discussion about the Prevayler project." > <[email protected]> > Message-ID: > <CAMAooZEdqreU-aDToTdOG7Kr+D-0o_b_+XjkU1Lo0CpkszNGjA@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Thanks, Angelo. > > I usually delete old stuff every 5 mails into the conversation or so. > Old habits. > > I believe this problem is not specific to the Prevayler list and I > dont think an appeal to consciousness will solve the issue at this day > and age. > > A more reasonable set of netiquette rules, I think, is: > - Always use plaintext, except when rich-text is absolutely necessary. > - Stop using digests for this list. Get every email. > - Use GMail or any other mail reader that will group mails in a > conversation and fold quoted text. > > Klaus > > > On Fri, Oct 14, 2011 at 11:54 AM, Angelo Schneider > <[email protected]> wrote: >> Hm :) >> >> seems times are changing ... to much. >> >> Once when we invented eMail, it was common to DELETE all old text which is not needed anymore for citation. >> >> Now everyone adds an answer to a text on the top. Top Answer Bottom Full Quote or something like this it was called. >> >> Please, for mailing lists, especially for those who receive digests, like me: remove all text you are not commenting on. >> >> It is so much more easy to read then ... and the digest is 90% smaller. >> >> Sorry, I don't want to "teach" anyone, but when the internet was "invented" people also "agreed" on netiquette. I assume most people are to young to ever have heard about this, but this site: http://en.wikipedia.org/wiki/Posting_style will give you an idea. >> >> Keep in mind, we are on a MAILING LIST: everyone gets every email. Usually in the order it was sent in. So it is a waste of everything: energy, bandwidth, storage and most importantly: TIME in RL of the reader who has to check if more important stuff is following ... and is disappointed to read only AGAIN a quoted part that contains other quoted parts of other messages that contain quoted parts again of all the messages he already has read! >> >> Sorry for this, but on this mailing list for some reason this "modern way of quoting" is abused to the extreme. >> >> Best Regards, >> >> Angelo >> >> privat: -------------------- www.oomentor.de -------------------------- >> Angelo Schneider ? ? ? ? OOAD/UML ? ? ? ? [email protected] >> Putlitzstr. 24 ? ? ? Patterns/FrameWorks ? ? ? ? ?Fon: +49 721 9812465 >> 76137 Karlsruhe ? ? ? ? ? C++/JAVA ? ? ? ? ? ? ? ?Mob: +49 172 9873893 >> >> >> >> >> >> ------------------------------------------------------------------------------ >> All the data continuously generated in your IT infrastructure contains a >> definitive record of customers, application performance, security >> threats, fraudulent activity and more. Splunk takes this data and makes >> sense of it. Business sense. IT sense. Common sense. >> http://p.sf.net/sfu/splunk-d2d-oct >> _______________________________________________ >> To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >> _______________________________________________ >> "Databases in Memoriam" -- http://www.prevayler.org >> > > > > ------------------------------ > > Message: 3 > Date: Fri, 14 Oct 2011 21:18:52 -0300 > From: Klaus Wuestefeld <[email protected]> > Subject: Re: [Prevayler-discussion] Web App Mirroring > To: "Open discussion about the Prevayler project." > <[email protected]> > Message-ID: > <CAMAooZH2C2MadUtZvyd-2ebJNRkxAjYqVKb3Upy8ObY24FBRbQ@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > I like the idea of Prevayler simply spawning a mirror from a remote > server, including the code. > > For that Prevayler would have to know about and control the classpath. > That is also good for making sure transactions are replayed and > snapshots are read using the correct code. ;) > > I am currently working on a startup that will require mirroring if our > site usage ramps up as we hope. I have never user app server > clustering, so I cannot say. I suggest you get more experience playing > with prevayler before we continue discussing. Some of the things you > say dont make any sense. > > You might want to get in touch with the SolidStateHttp project folks. > https://github.com/bihaiko/SolidStateHttp They intend to implement the > ideas previously discussed in this list as HttPrevayler: prevalence at > the http level, so you can use any web framework and simply forget > about Transactions, etc... > > Klaus > > > On Fri, Oct 14, 2011 at 9:44 AM, Naveen Chawla <[email protected]> wrote: >> The simplest solution for my app seems like Java app server replication >> across 2 computers using the app server's built-in clustering, if it works. >> This is because it seems simpler to?replicate the whole?web app?for >> failover/switch-off availability, as I would presume this?does, rather than >> just the prevalent system.?Have you ever used this? But if >> Prevayler-mirroring does indeed intend to replicate the whole?web?app, which >> I sincerely hope it does?(by for example, demanding?the web app's path >> is?passed to Prevayler's "makeReadyForMirroring" method), then I'd?love?to >> be able to go to the console?of any?new or upgraded computer, simply >> download a?utility app from Prevayler to it, and type: >> >> prevayler_produce_mirror myApp >> >> which automatically listens on its all connections for a >> "Prevayler-mirroring-ready" system named "myApp" on other >> computers,?downloads?and?produces?a master-capable-mirror on this computer >> and launches it, and you just carry on,?rather than having to code and >> build?this?utility?application?every time. That's because?this would >> be?a?standard procedure?anyway, the only variable being?what you substitute >> for "myApp". The benefit of?this?over the aforementioned >> app-server-replication might be?that I might be able to use >> a?different/better?app server on each new mirror? >> Sorry if these are stupid ideas. But they seem to make sense to me at the >> moment. >> >> I just can't see how?true failover replication can be achieved with e.g. 2 >> computers without replicating the entire web app. It's like 1 + 1 =/= 3 to >> me. Am I wrong? >> >> On 13 October 2011 23:39, Klaus Wuestefeld <[email protected]> wrote: >>> >>> Prevayler mirroring is demoed with demo2 inside the Prevayler distro. >>> Run it with mirroring and let me know. >>> >>> It is only a proof of concept, though. Some simple things would still >>> have to be implemented: if the master crashes and restarts, for >>> example, the clients will not attempt to reconnect. >>> >>> Klaus >>> >>> >>> On Thu, Oct 13, 2011 at 2:50 PM, Naveen Chawla <[email protected]> >>> wrote: >>>> That's brilliant Klaus, thanks! This'll?choose the G1 collector in Java >>>> 7 by >>>> default, right? >>>> >>>> I have no idea how big my heap will become. But I'd like to prepare for >>>> sky >>>> being the limit. Which is also why I desperately want to be able to >>>> hot-swap/upgrade machines to add RAM seamlessly while my app is still >>>> running. This was planned for Prevayler 3, right? Should I wait for this >>>> or >>>> should I do clustering with an app server to do replication? Do these >>>> work >>>> ok for this purpose (i.e. just being able to literally switch off one of >>>> the >>>> computers any time, chuck some RAM in, and carry on, repeat with the >>>> other >>>> computer, or just swap for a new computers, one at a time,?with the >>>> right >>>> configuration)? Which Java app server is best for this? Or should I wait >>>> for >>>> Prevayler 3? >>>> >>>> On 13 October 2011 15:45, Klaus Wuestefeld <[email protected]> wrote: >>>>> >>>>> The Java VM since Java5 has simplified GC options that they call >>>>> "ergonomic". You can choose to minimize any two out of the following >>>>> three things, according to your needs: >>>>> >>>>> ?1) Pause time for exclusive GC. >>>>> ?2) % CPU for GC em parallel with your application. >>>>> ?3) Use of memory. >>>>> >>>>> Java5: >>>>> >>>>> http://download.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html >>>>> Java7: >>>>> >>>>> http://download.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html >>>>> >>>>> My choice of VM options for prevalent system servers is: >>>>> ?-server >>>>> ?-XX:MaxGCPauseMillis=500 >>>>> ?-XX:GCTimeRatio=3 >>>>> >>>>> MaxGCPauseMillis=500 gives the VM a target of not pausing for more >>>>> than 500 millis for GC. You can use less. It will simply increase the >>>>> pressure on CPU usage and RAM. >>>>> >>>>> GCTimeRatio=3 will give the parallel garbage collector 25% of CPU (75% >>>>> for the app) before it starts allocating more heap. The default is 99 >>>>> which gives only 1% of CPU to the collector and 99% to the app. With >>>>> prevalent systems the problem is normally not CPU but RAM, so it is >>>>> good to give the collector ample CPU. >>>>> >>>>> Given the above, the VM will apply a pretty cool adaptive heap >>>>> generation allocation strategy: >>>>> >>>>> "1. If the GC pause time is greater than the pause time goal then >>>>> reduce the generations sizes to better attain the goal. >>>>> 2. If the pause time goal is being met then consider the application's >>>>> throughput goal. If the application's throughput goal is not being >>>>> met, then increase the sizes of the generations to better attain the >>>>> goal. >>>>> 3. If both the pause time goal and the throughput goal are being met, >>>>> then the size of the generations are decreased to reduce footprint." >>>>> >>>>> ;) >>>>> >>>>> Klaus >>>>> PS: Naveen, did you answer Ralph's question on how big your heap will >>>>> be? >>>>> >>>>> >>>>> On Thu, Oct 13, 2011 at 9:05 AM, Diego Fincatto >>>>> <[email protected]> wrote: >>>>>> Maybe terracotta can help! >>>>>> http://www.terracotta.org/products/bigmemory >>>>>> >>>>>> >>>>>> On Thu, Oct 13, 2011 at 8:53 AM, Naveen Chawla >>>>>> <[email protected]> >>>>>> wrote: >>>>>>> I agree, there's no way forcing garbage collection?is "pauseless" as >>>>>>> such, >>>>>>> I'm just unsure if it could be?a cheap workaround for "slow down >>>>>>> now, >>>>>>> save >>>>>>> later". It turns out ordinary Java has garbage collector options?G1 >>>>>>> and >>>>>>> CMS, >>>>>>> either of which may?altogether avoid?long pauses, I don't know. >>>>>>> >>>>>>> So I'm thinking G1 or CMS gc, with heap size fixed to the maximum >>>>>>> comfortable RAM (unless G1 or CMS still?triggers long pauses with >>>>>>> large >>>>>>> memories). Anyone recommend different? >>>>>>> >>>>>>> On 13 October 2011 10:54, Ralph Johnson <[email protected]> wrote: >>>>>>>> >>>>>>>> If you want to collect more frequently, just make the size of your >>>>>>>> memory partitions smaller. ? The only reason to ask for a >>>>>>>> collection >>>>>>>> is because you know that this is a good time to do the work, i.e. >>>>>>>> you >>>>>>>> aren't doing anything else. >>>>>>>> >>>>>>>> If you could get a pauseless g.c. by manual intervention then they >>>>>>>> wouldn't be so hard to make. >>>>>>>> >>>>>>>> -Ralph >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> All the data continuously generated in your IT infrastructure >>>>>>>> contains >>>>>>>> a >>>>>>>> definitive record of customers, application performance, security >>>>>>>> threats, fraudulent activity and more. Splunk takes this data and >>>>>>>> makes >>>>>>>> sense of it. Business sense. IT sense. Common sense. >>>>>>>> http://p.sf.net/sfu/splunk-d2d-oct >>>>>>>> _______________________________________________ >>>>>>>> To unsubscribe go to the end of this page: >>>>>>>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>>>>>>> _______________________________________________ >>>>>>>> "Databases in Memoriam" -- http://www.prevayler.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> All the data continuously generated in your IT infrastructure >>>>>>> contains >>>>>>> a >>>>>>> definitive record of customers, application performance, security >>>>>>> threats, fraudulent activity and more. Splunk takes this data and >>>>>>> makes >>>>>>> sense of it. Business sense. IT sense. Common sense. >>>>>>> http://p.sf.net/sfu/splunk-d2d-oct >>>>>>> _______________________________________________ >>>>>>> To unsubscribe go to the end of this page: >>>>>>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>>>>>> _______________________________________________ >>>>>>> "Databases in Memoriam" -- http://www.prevayler.org >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> All the data continuously generated in your IT infrastructure >>>>>> contains a >>>>>> definitive record of customers, application performance, security >>>>>> threats, fraudulent activity and more. Splunk takes this data and >>>>>> makes >>>>>> sense of it. Business sense. IT sense. Common sense. >>>>>> http://p.sf.net/sfu/splunk-d2d-oct >>>>>> _______________________________________________ >>>>>> To unsubscribe go to the end of this page: >>>>>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>>>>> _______________________________________________ >>>>>> "Databases in Memoriam" -- http://www.prevayler.org >>>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> All the data continuously generated in your IT infrastructure contains >>>>> a >>>>> definitive record of customers, application performance, security >>>>> threats, fraudulent activity and more. Splunk takes this data and makes >>>>> sense of it. Business sense. IT sense. Common sense. >>>>> http://p.sf.net/sfu/splunk-d2d-oct >>>>> _______________________________________________ >>>>> To unsubscribe go to the end of this page: >>>>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>>>> _______________________________________________ >>>>> "Databases in Memoriam" -- http://www.prevayler.org >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> All the data continuously generated in your IT infrastructure contains a >>>> definitive record of customers, application performance, security >>>> threats, fraudulent activity and more. Splunk takes this data and makes >>>> sense of it. Business sense. IT sense. Common sense. >>>> http://p.sf.net/sfu/splunk-d2d-oct >>>> _______________________________________________ >>>> To unsubscribe go to the end of this page: >>>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>>> _______________________________________________ >>>> "Databases in Memoriam" -- http://www.prevayler.org >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> All the data continuously generated in your IT infrastructure contains a >>> definitive record of customers, application performance, security >>> threats, fraudulent activity and more. Splunk takes this data and makes >>> sense of it. Business sense. IT sense. Common sense. >>> http://p.sf.net/sfu/splunk-d2d-oct >>> _______________________________________________ >>> To unsubscribe go to the end of this page: >>> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >>> _______________________________________________ >>> "Databases in Memoriam" -- http://www.prevayler.org >> >> >> ------------------------------------------------------------------------------ >> All the data continuously generated in your IT infrastructure contains a >> definitive record of customers, application performance, security >> threats, fraudulent activity and more. Splunk takes this data and makes >> sense of it. Business sense. IT sense. Common sense. >> http://p.sf.net/sfu/splunk-d2d-oct >> _______________________________________________ >> To unsubscribe go to the end of this page: >> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >> _______________________________________________ >> "Databases in Memoriam" -- http://www.prevayler.org >> >> > > > > ------------------------------ > > Message: 4 > Date: Sat, 29 Oct 2011 04:24:29 +0530 > From: Naveen Chawla <[email protected]> > Subject: [Prevayler-discussion] Type-safe Prevayler, using generics > To: "Open discussion about the Prevayler project." > <[email protected]> > Message-ID: > <CAGs7EcUEhmQ1HA5xp27mmk+qBfxAipCaOaJ1YGYqKvmTNdc01Q@mail.gmail.com> > Content-Type: text/plain; charset="iso-8859-1" > > Small point, but by using generics, Prevayler has complete type-safety minus > casting. Took me longer than expected, but I've attempted this on Prevayler > source. I submitted a "fork" on the prevayler git - > https://github.com/Navigateur/prevayler - I'm not very good at git, but I > think that's how you want contributions submitted. Needs run time testing. > Demo and test code modified to match. Summary usage: > > instead of > Prevayler prevayler > use > Prevayler<MyTypeToPrevail> prevayler > > and instead of > PrevaylerFactory prevaylerFactory > use > PrevaylerFactory<MyTypeToPrevail> prevaylerFactory > > For your custom transactions/queries: > replace > implements Transaction{ > with > implements Transaction<MyTypeToPrevail>{ > > and > implements TransactionWithQuery{ > with > implements TransactionWithQuery<MyTypeToPrevail, MyTypeToReturn>{ > same for Query, SureTransactionWithQuery > > Then, you don't do any casting from Object to prevalent type, nor from > ".execute" to return type, as these arrive in native form. > ("MyTypeToPrevail" is compiler-checked as implementing Serializable in all > the above cases) > > i.e. instead of > (MyTypeToPrevail)prevalentSystem > you just use > prevalentSystem > and instead of > (MyTypeToReturn)prevayler.execute(... > you just use > prevayler.execute(... > > It might even run faster due to lack of run time casting on each > transaction/query, who knows (not me). Hopefully you can test, and as soon > as it works immediately release it as an update, or at least an immediate > parallel choice as I really want this version now but with your genuine > backing. > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > ------------------------------------------------------------------------------ > The demand for IT networking professionals continues to grow, and the > demand for specialized networking skills is growing even more rapidly. > Take a complimentary Learning@Cisco Self-Assessment and learn > about Cisco certifications, training, and career opportunities. > http://p.sf.net/sfu/cisco-dev2dev > > ------------------------------ > > _______________________________________________ > To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion > _______________________________________________ > "Databases in Memoriam" -- http://www.prevayler.org > > > End of Prevayler-Discussion Digest, Vol 43, Issue 8 > *************************************************** > ------------------------------------------------------------------------------ Get your Android app more play: Bring it to the BlackBerry PlayBook in minutes. BlackBerry App World™ now supports Android™ Apps for the BlackBerry® PlayBook™. Discover just how easy and simple it is! http://p.sf.net/sfu/android-dev2dev _______________________________________________ To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion _______________________________________________ "Databases in Memoriam" -- http://www.prevayler.org