New Release of Morphium V2.2.21

7 views
Skip to first unread message

Stephan Bösebeck

unread,
Jun 8, 2015, 8:07:41 AM6/8/15
to mongod...@googlegroups.com

This release was undergoing extensive testing, we were testing 8 Beta versions. Goal was to increase stability and performance in heavy load environments. We were experiencing some blocking threads under heavy load. We addressed this issue by doing some critical changes. These are the changes

  • removed all synchronized calls from the code (even Hashtable)
  • removed Log4J (it was creating an issue), replaced it with a lightweight logger implementation (configured easily with MorphiumConfig and by adding -Dmorphium.log.file=THEFILE or STDOUT or STDERR -Dmorphium.log.level=1-5 or -Dmorphium.log.synced=true|false to your startup). If you still have the need for morphium to use log4j, please tell us. We did not implement the bridge yet, bout this could easily be done.
  • removed usage of skip from iterator hence for some reason skip causes a lot of load on mongo and some timeouts, hence the prefetching iterator (need skip here to do the paging) is not the default iterator anymore.
  • query.asIterable() ane query.asIterable(1000) will return an instance of the DefaultIterator (no prefetching, no skip), query.asIterable(1000,5) returns a prefetching iterator.
  • the BufferedWriter (when @WriteBuffer Annotation) now uses proper bulk operations
  • added a shutdown hook for proper killing of all threads and executors upon exit
  • added some internal caches to reduce time for reflection
  • improvement in Messaging
  • minor changes

Cheers,

Stephan

Reply all
Reply to author
Forward
0 new messages