[ https://issues.apache.org/jira/browse/HAMA-568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Edward J. Yoon updated HAMA-568: -------------------------------- Attachment: HAMA-568.patch Attach my patch. Memory-based queues are now use concurrent queue. So, synchronize() method will return the queue itself if it is mem-based queue. {code} /* * static constructor methods to be type safe */ public static <T> SynchronizedQueue<T> synchronize(MessageQueue<T> queue) { if(queue.isMemoryBasedQueue()) { return (SynchronizedQueue<T>) queue; } return new SingleLockQueue<T>(queue); } {code} .... if no-one objects within three days, I'll assume lazy consensus and commit it. > Add faster synchronized collections for message queues > ------------------------------------------------------ > > Key: HAMA-568 > URL: https://issues.apache.org/jira/browse/HAMA-568 > Project: Hama > Issue Type: Sub-task > Reporter: Thomas Jungblut > Assignee: Edward J. Yoon > Fix For: 0.7.0 > > Attachments: HAMA-568.patch, HAMA-568_1.patch, HAMA-568_2.patch > > > Currently the synchronized messaging (accessed concurrently via RPC) is done > with a single mutex object. See org.apache.hama.bsp.message.SynchronizedQueue. > This can be improved for memory queue by adding the ConcurrentLinkedQueue > from Java since it has higher throughput. > Needless to say, we should add some custom synchronized version of a queue, > maybe through a factory class in the normal version. -- This message was sent by Atlassian JIRA (v6.2#6252)