Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.
The "HowToUseConcurrencyAnalysisTools" page has been changed by KonstantinBoudnik. http://wiki.apache.org/hadoop/HowToUseConcurrencyAnalysisTools?action=diff&rev1=2&rev2=3 -------------------------------------------------- === How to get and install the tools === First of all you need to download and install the tools. [[http://www.surelogic.com/static/eclipse/install.html|Here's the instruction on how to do this]]. The good news - it shouldn't take more than 5 minutes to get you going. The bad news for non-Eclipse users - you need to get one first. Please refer to the page to find out how to run the tools. - All SureLogic tools have built-in feedback submission feature, so you might consider to share your comments/suggestions with the development team. If you've came across an issue with any of SureLogic tools you might want to file a ticket and monitor its progress. There's no defects tracking system provided by SureLogic. This page will be updated as soon as I know about one. For now the best way to send issue report is to use that built-in feedback mechanism. + All !SureLogic tools have built-in feedback submission feature, so you might consider to share your comments/suggestions with the development team. If you've came across an issue with any of !SureLogic tools you might want to file a ticket and monitor its progress. There's no defects tracking system provided by SureLogic. This page will be updated as soon as I know about one. For now the best way to send issue report is to use that built-in feedback mechanism. Now, you'll need a license. Apache committers can [[https://svn.apache.org/repos/private/committers/donated-licenses/surelogic|download it from here]]. All you need is your Apache SVN password. Hadoop's projects will automatically pull down annotations jar (aka "Promises") at the build time thus the source code with annotations should be compiled just fine. - If you'd like to add SureLogic analysis to your Apache's project, you will need to configure your build to automatically download and use annotation jar file to make your compiler aware about these. It is simple enough to do thanks to Maven. You can take a look to [[HDFS-801| to use its patch]] for your project as soon as it's committed. + If you'd like to add !SureLogic analysis to your Apache's project, you will need to configure your build to automatically download and use annotation jar file to make your compiler aware about these. It is simple enough to do thanks to Maven. You can take a look to [[HDFS-801| to use its patch]] for your project as soon as it's committed. === Some examples of annotations and how to use them === - HDFS, MapReduce, and ZooKeeper already has some SureLogic annotations in their source code. Here's some examples from HDFS. + HDFS, MapReduce, and ZooKeeper already has some !SureLogic annotations in their source code. Here's some examples from HDFS. First, you need to declare abstract annotation [http://surelogic.com/promises/apidocs/com/surelogic/Region.html|Region] and declare all necessary [http://surelogic.com/promises/apidocs/com/surelogic/RegionLock.html|RegionLocks]: {{{#!java @@ -64, +64 @@ For more information about how to annotate your code check [[http://surelogic.com/promises/apidocs/index.html|annotations JavaDoc]] === How it affects Hadoop development/QA process === - SureLogic annotations are used in the source code of core sub-projects at the moment. It is not mandatory for contrib projects this it's up to contributors and committers to decide if they want to use concurrency analysis tools for their components. + !SureLogic annotations are used in the source code of core sub-projects at the moment. It is not mandatory for contrib projects this it's up to contributors and committers to decide if they want to use concurrency analysis tools for their components. - SureLogic analysis is going to be included to the test-patch process. This said new patches are required not to raise SureLogic warnings level (similar to the requirements about FindBugs or javac). + !SureLogic analysis is going to be included to the test-patch process. This said new patches are required not to raise !SureLogic warnings level (similar to the requirements about FindBugs or javac). === Annotations retention policy =='em Annotations are part of the source code and needed for analysis purpose only. Thus, the promises will be needed only during compile time and for development. A production code won't include this jar file thus there won't be any impact on the final project's bits. === JIRA filing guidelines === - If you have found and issue with your application using one of the SureLogic tools above please don't forget to add tag 'surelogic' to the JIRA. It will help to trace concurrency related issues in the future. + If you have found and issue with your application using one of the !SureLogic tools above please don't forget to add tag 'surelogic' to the JIRA. It will help to trace concurrency related issues in the future.
