Just FYI, Hama 0.7.1 release candidate is now available. Please feel free to use this, and it'd nice if you can let me know whether it works well with you. Release tarball: http://people.apache.org/~edwardyoon/dist/0.7.1-RC1 -- Best Regards, Edward J. Yoon -----Original Message----- From: ÜÆ?éö [mailto:mailliuping@qq.com] Sent: Wednesday, January 27, 2016 11:01 AM To: user Subject: Re: RE: RE: Do Hama support member member variable? I know. If I use the static variable like "private static boolean match", I could get the right value of match too. Could I use static variable? Thanks a lot. Best regards. Ping Liu. ------------------ Original ------------------ From: "Edward J. Yoon";; Date: Wed, Jan 27, 2016 09:39 AM To: "user"; Subject: RE: RE: Do Hama support member member variable? Basically Vertex object is writable, and we store the vertex objects in serialized form. There are two purposes: 1) to reduce memory usage 2) to write on file system (checkpoint and recovery). So, you should use readState() and writeState() methods to save object member variables. Thanks! -- Best Regards, Edward J. Yoon -----Original Message----- From: ÜÆ?éö [mailto:mailliuping@qq.com] Sent: Wednesday, January 27, 2016 10:27 AM To: user Subject: Re: RE: Do Hama support member member variable? Hi, Thank you very much. You helped me a lot. But I still don't know how to use readState() and writeState() methods. What is the input parameter DataInput in and DataOutput out? And as far as I know, I can assign the value of member variable directly in hama-0.6.3, such as match = true. Why I can't do this in Hama-0.7.0? Waiting for your reply. Thanks. Best Regards, Ping Liu. ------------------ Original ------------------ From: "Edward J. Yoon";; Date: Wed, Jan 27, 2016 07:15 AM To: "user"; Subject: RE: Do Hama support member member variable? Hi, You should use readState() and writeState() methods like below: public static class ProbMatchVertex extends Vertex { private boolean match = false; public void readState(DataInput in) throws IOException { match = in.readBoolean(); } public void writeState(DataOutput out) throws IOException { out.writeBoolean(match); } .. } -- Best Regards, Edward J. Yoon -----Original Message----- From: ²½ÇàÔÆ [mailto:mailliuping@qq.com] Sent: Tuesday, January 26, 2016 10:16 PM To: user Subject: Do Hama support member member variable? Hello, I'm trying to run a graph job. But i have got some problems. I want to use member variable in vertex class, the code is as follow. I have changed the value of the member variable in one superstep. But when I use this member variable in next superstep, the value of this member variable is still the defalult value. For example, "match" is the member variable. I have changed the value of "match" to be ture in superstep 0, but when I print "match" in superstep 1, the result was "match: false". Could anyone tell me why the value of member variable is changed? Thanks very much. Best wishes. public static class ProbMatchVertex extends Vertex { private boolean match = false; @Override public void compute(Iterable messages) throws IOException { if (getSuperstepCount() == 0) { match = true; sendMessageToNeighbors(new TriTextPair(getVertexID(), getVertexLabel(), new Text(""))); } else if(getSuperstepCount() == 1){ System.out.println("match:" + match); parents = new ArrayList(); for(TriTextPair msg : messages){ parents.add(msg); sendMessage(msg.getFirst(), new TriTextPair(getVertexID(), getVertexLabel(), new Text(""))); } } } Ping Liu