zaks.anna added a comment.

> Just for the sake of explaining, lets say in 3 subsequent Analyzer releases 
> the hashes are called “hash_1”, “hash_2” and “hash_3”.




> In the first release the suppression tool will record hash_1 to suppress a 
> warning. Some developers will upgrade to the second and third release, where 

>  others may jump straight to the third release. Additionally some developers 
> may temporarily downgrade to the second after upgrading to the third 

>  release. The suppression tool (which may not be upgraded during this period) 
> needs to maintain suppressions between these version 

>  upgrades/downgrades. Also, some developers may upgrade before others, where 
> they all share one repository of suppressions.




> Say there is an issue with hash_1 and two warnings collide; this is fixed by 
> hash_2. When the user upgrades to the 2nd release, the suppression tool will 

>  record hash_2 on top of hash_1. The tool will then suppress using hash_2 if 
> it is present in the plist file, ignoring hash_1. If the user downgrades and 

>  hash_2 is not in the plist file the tool will suppress using hash_1. For 
> this to work the tool needs to know the order in which to look at the hashes.


I still do not understand how your system would work.

If you have multiple users using a bug suppression system, I would design such 
system using only a single hash version across all users; using a mix seems 
error prone.. Once all of your users upgrade to a version of the analyzer where 
a new hash version is available, you upgrade the hash in the database to 
reflect that.

Let's talk about your example.
You have user1 using hash_version_1 and user2 using hash_version_2. If the 
second user suppresses an issue and hash_version_2 is used to record that, how 
will user1 be able to identity that issue?

Also, as I've mentioned before, the newest issue hash would not necessarily be 
the best.

> This would work for us, although I agree it might be a little confusing. 
> Would issue_hash_<number>_<name> be better? e.g. 

>  "issue_hash_1_content_of _line_in_context".


We could have a list of issue hashes and each item in the list containing 
type_of_hash, hash_version, hash. However, I am not yet convinced that this 
complexity is justified.


http://reviews.llvm.org/D10305



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to