Today I was speaking on Coherence SIG event in London.
My topic was "Filtering 100M objects. What can go wrong?". It was a story of solving particular problem and obstacles we have encountered. One noticeable thing about this project - out team was using Performance Test Driven Development approach.
Guardian was introduced in Oracle Coherence 3.5 as uniform and reliable mean to detect and report various stalls and hangs on data grid members. In addition to monitoring internal components of Coherence, Guardian has an API accessible for application developer.
While out-of-box Guardian does its job pretty well, there (more...)
Two years ago I have published cheat sheet for garbage collection options in HotSpot JVM.
Recently I decided give that work some refreshing and today I'm publishing first HostSpot JVM options ref card covering generic GC options and CMS tuning. (G1 have got a plenty of tuning options during last (more...)
Today was speaking at HighLoad++ 2013 Moscow. I had two presentation covering deep internals of JVM. One about JIT compilation and other concerning pauseless garbage collection algorithms.
Slide decks are below (in Russian)
Today I was speaking at CEE SECR 2013 at Moscow.
Below is a slide deck from presentation (in Russian)
Oracle Coherence data grid has a powerful tool for inplace data manipulation - EntryProcessor. Using entry processor you can get reasonable atomicity guarantees without locks or transactions (and without drastic performance fees associated).
One good example of entry processor would be built-in ConditionalPut processor, which will verify certain condition before (more...)
In this post, I would like to share some knowledge about optimizing indexes in Oracle Coherence.
Normally you should not abuse queering features of your data grid and, hence, you are unlikely to ever need to tune indexing/queering (besides choosing which indexes to create). But sometimes, you really need to (more...)
This is a first articles in series, where I would like to study effect of various HotSpot JVM options on duration of STW pauses associated with garbage collection.
This article will study how number of parallel threads affects duration of young collection Stop-the-World pause. HotSpot JVM has several young GC (more...)
There are bunch of graphical tools helping you to look inside of running JVM (VisualVm and JConsole are extremely helpful). Unfortunately, some times (almost always in my case), you may find yourself in SSH console on headless server side by side with your JVM (more...)
I'm glad to announce upcoming tech talk in our user group at Moscow - "Java GC — Theory and Practice"
Event will be held on 16 May at Moscow, online translation will be available (tech talk language - russian)
Registration is open at http://aragozin.timepad.ru/event/60137/
Below are slidedecks (in russian) from two my presentation on JavaOne Russia this year.
Борьба с GС паузами в JVM. Теория и практика
Распределённый кэш или хранилище данных. Что выбрать?
Today, I was one of speaker at "Magic of VMs" tech talk in Moscow. Meet up was held under roof of Rambler, a lot thanks to them for helping us in this event.
Topic of meetup was low level implementation details of various runtimes for popular platforms.
Below are (more...)
Writing automated tests for Coherence based application is quite challenging. Definitely, you can start single node cluster in your test JVM without too much hassle. Unfortunately, single node cluster will not allow you to replicate some important aspects of cluster (a thus, test wont be able to catch a number (more...)
First meet up of Oracle Coherence users in Moscow was held on 14 Mar.
Many thanks to Gene Gleyzer (Oracle), who was key speaker on this event (joining us remotely).
Below are slides from event:
Recently, I was working on renewed version of Coherence data loss listener. New version provides simple utility to attach partition loader to any cache. Such partition loader is guaranteed to be called for every partition of newly created cache or after partition has been lost. Unlike CacheStore, partition loader (more...)
SSH offers a very convenient way to execute shell scripts remotely. Code like
ssh myserver.acme.com << EOC
are fairly easy to write and read.
But while remote execution itself is easy, writing actual distributed code is total mess.
I’m a Java guy. I (more...)