mardi 15 juillet 2008

Killing a jvm thread running infinite loop in my app server simply using a Runtime Exception...

One frustrating thing in an application server (moreover in any jvm) is that you have no way to stop a thread going crazy : infinite loops, applicative deadlock...
With the ThreadMXBean API I can even auto detect such troubles logging easily the threads, their stacktraces (no more need for KILL -QUIT, yeahhh...), with ThreadLocal I can add data to get more information about the problem, but still I have no way to act on a thread and "stop it".

I would love to tell the jvm, ok, now the next code to execute on this thread is to raise a kind of RuntimeException... yes I want to say there is a trouble you can't recover from (anyway often it consumes all the cpu... horrible !), so a RuntimeException will correctly rollback all running transactions and correctly release resources. This would save me (and my team) from a server restart which is bad for our users...

Am I the only on to dream of that ? Is it impossible to provide this or nobody thought about it (couldn't find anything about this while googling...) ?

mardi 8 juillet 2008

Interview Jeff sutherland : Introduction de Scrum chez Google

Une présentation extrêmement instructive sur l'introduction par Jeff de Scrum chez Google. Très bonne introduction pour comprendre ce que peut vous apporter Scrum et découvrir la toujours fascinante culture Google :

http://www.infoq.com/presentations/Agile-Management-Google-Jeff-Sutherland

scrum : voyage vers un monde meilleur (?)...

Cela fait maintenant plus d'un an que j'ai démarré un grand voyage pour mon entreprise : celui qui consiste à rejoindre réellement le monde de l'Agilité.
Préparant longuement le big bang interne (beaucoup de lecture, quelques expérimentations internes et la recherche d'une forte adhésion interne), celui-ci s'est déclenché en fin d'année dernière...
6 mois ont passé et force est de constater que le chemin était bien plus dur à parcourir qu'initialement imaginé. De nombreuses pratiques ont été adoptées, mais nous ne sommes pas encore, selon moi, Agile.

J'ai donc décidé courant mai d'arrêter de faire les choses à moitié : appel à un accompagnement par un coach Scrum. Fini les compromis, objectif, passons 100% à Scrum.

Aujourd'hui nous sommes au milieu de la phase "d'audit" et le challenge s'annonce passionnant.

Il m'a aussi permis de m'ouvrir de nouveaux horizons de compréhension. J'ai notamment eu la chance de rencontrer Jeff Sutherland lors d'un dîner en comité très réduit (permettant donc un échange très personnalisé) organisé par la société qui nous accompagne. Un vrai bonheur et un nouvel éclairage sur le pourquoi et le comment de Scrum. Suite à cela pas mal de lecture sur le web sur Toyota, Lean, ...
et comme de temps en temps cela arrive, cette impression d'être passé à côté de tout un ensemble de documents qui me tendaient les mains et qui font d'un coup progresser ma compréhension des méthodes, un grand frisson...


J'ai donc souhaité partager cette expérience à travers quelques posts que j'écrirai au fur et à mesure des mois qui viennent, question de laisser une trace sur ce grand chamboulement...

Je publierai également quelques liens que je trouve/trouverai très pertinents sur Scrum et l'Agilité.