Sure thing - here you go https://gist.github.com/msukmanowsky/198c878e1deaf4e470a9
When initialized, the ParselyMetadataService creates a new Mongo and Jedis instance which the EvalFunc queries using a public method fetch(). Instance of ParselyMetadataService also have a close() function which simply calls: this.mongoClient.close(); this.redisClient.disconnect(); On Thu, Mar 14, 2013 at 5:24 PM, Jonathan Coveney <[email protected]>wrote: > Can you perhaps share more of your implementation? I can imagine a couple > of things which would cause errors like this. Are you making sure that each > instance of EvalFunc is dealing with a different connection? > > That's what I'd take a look at first...if that isn't the issue, I can look > into how final() is implemented. > > > 2013/3/14 Mike Sukmanowsky <[email protected]> > > > Hi there, > > > > I have an EvalFunc which uses an internal class that opens up connections > > to a Redis and MongoDB server. This class has a close() method which > > closes connections to both Redis and MongoDB. > > > > In my EvalFunc implementation, I placed the close() method > > > > @Override > > public void finish() { > > meta.close(); > > } > > > > But this is leading to a > > > > java.lang.IllegalStateException: this Mongo has been closed > > > > indicating that Pig attempted to read from Mongo after a call to > finish(). > > Is this an error specific to running a Pig script locally? > > > > Mike > > > > -- > > Mike Sukmanowsky > > > > Product Lead, http://parse.ly > > 989 Avenue of the Americas, 3rd Floor > > New York, NY 10018 > > p: +1 (416) 953-4248 > > e: [email protected] > > > -- Mike Sukmanowsky Product Lead, http://parse.ly 989 Avenue of the Americas, 3rd Floor New York, NY 10018 p: +1 (416) 953-4248 e: [email protected]
