> 1) How are ascii_fingerprint and binary_fingerprint intended to be used? I think it was only used by the DenseProtocol. I'm not aware of anything else that ever used it, but I could be forgetting something. Probably not something very critical, though (maybe like the Java Serialization ID or something like that).
> 2) Why do their definitions change (the contents change) sometimes when > nothing else in the generated C++ source file changes? Is it possible that there was a change in one of the included Thrift files? The fingerprint for a structure depends not only on the fields in the structure, but also any fields in a structure that it includes. > 3) Do we need to care about their values? We have client and server code out > in the world that contains one definition and we will be releasing new > versions in the near future. Are there backward compatibility issues? I don't think so. Thrift was designed to make it possible to add and remove fields. --David On 11/28/2011 12:02 PM, Rush Manbert wrote: > I asked this question more than 18 months ago on the users list and never got > an answer, so I'm trying again here. > > We check in our Thrift IDL (*.thrift) files and when we do builds on the Mac, > those files are read and the code for different languages is generated. We > also check in the generated code as required, because we don't do code > generation in our Windows dev environment. > > We find that sometimes our SVN client wants us to check in a generated C++ > source file, but all that has changed is the definition of ascii_fingerprint > and binary_fingerprint. This makes us a little nervous. > > I have grepped through the C++ library sources that we use (we are down rev > because we use my Windows patch: > https://issues.apache.org/jira/browse/THRIFT-591 ) and I don't find > "_fingerprint" used anywhere in the code. > > I also got the 0.7.0 sources and grepped them for "_fingerprint". The only > usage appears to be in DenseProtoTest.cpp. Again, I see no usage at all in > the library C++ sources. > > In both versions, the Dense Protocol uses TypeSpec, but we don't use that > protocol. > > I'm hoping someone can answer these questions for me: > > 1) How are ascii_fingerprint and binary_fingerprint intended to be used? > > 2) Why do their definitions change (the contents change) sometimes when > nothing else in the generated C++ source file changes? > > 3) Do we need to care about their values? We have client and server code out > in the world that contains one definition and we will be releasing new > versions in the near future. Are there backward compatibility issues? > > Thanks, > Rush