Maybe it's not. But this exception happens when I create an *HiveHistoryViewer* instance, in which case only reading, parsing file is invloved and it's not intended to be shared between threads.
So the exception surprised me and I wonder why a static buffer was used instead of a local buffer which has no concurrent issue. 2013/1/5 Edward Capriolo <edlinuxg...@gmail.com> > It is likely an oversight. The Majority of hive code was not written to be > multi-threaded. > > > > On Fri, Jan 4, 2013 at 10:41 PM, Jie Li <ji...@cs.duke.edu> wrote: > >> Hi Qiang, >> >> Could you describe how HiveHistoryViewer is used? I'm also looking for >> a tool to understand the Hive log. >> >> Thanks, >> Jie >> >> On Sat, Jan 5, 2013 at 9:54 AM, Qiang Wang <wsxy...@gmail.com> wrote: >> > Does Anybody have an idea about this? >> > >> > https://issues.apache.org/jira/browse/HIVE-3857 >> > >> > >> > 2013/1/4 Qiang Wang <wsxy...@gmail.com> >> >> >> >> new HiveHistoryViewer() throws ConcurrentModificationException when >> called >> >> concurrently by several threads. >> >> >> >> According to the stack trace, HiveHistory.parseLine use private static >> >> Map<String, String> parseBuffer to store parsed data and this caused >> the >> >> exception. >> >> >> >> I don't know why a static buffer rather than a local buffer is used! >> >> Anybody have an idea about this? >> > >> > >> > >