On 27 November 2016 at 22:03, Gary Gregory <garydgreg...@gmail.com> wrote:
> These annotations are the SAME as have been published all over the place,
> so I do not think we need a PR for review. Reviewing the code in the repo
> should be enough, but I'm not sure _what_ there is to review really. I've
> already posted a link to the sources (a pastebin link). I'll create a Jira
> of course.

There is one aspect that needs review: does the annotation belong in LANG?
If we want to use the annotation in other components, do they have to
depend on LANG?
If not, do they all have their own copies?

And what happens when LANG needs a non-BC release?

My expectation for such annotations is that they would be
self-contained (or built-in to the languange, not LANG).

> Gary
>
> On Sun, Nov 27, 2016 at 1:20 PM, Benedikt Ritter <brit...@apache.org> wrote:
>
>> Hi,
>>
>> Gary Gregory <garydgreg...@gmail.com> schrieb am So., 27. Nov. 2016 um
>> 21:01 Uhr:
>>
>> > So let's start with the CLASS retention annotations first. I'll commit
>> > later today.
>> >
>>
>> Maybe create a GitHub PR so people can have a look before it goes to
>> master?
>>
>> Benedikt
>>
>>
>> >
>> > Gary
>> >
>> > On Nov 27, 2016 9:50 AM, "Matt Sicker" <boa...@gmail.com> wrote:
>> >
>> > > I feel like documenting thread safety in such a low level, widely used
>> > > library like [lang] is a great idea. Whether it uses annotations,
>> > javadocs,
>> > > or some sort of informal javadoc comments isn't too big a deal to me,
>> but
>> > > providing some guarantees of thread safety or lack thereof would be
>> > > invaluable information.
>> > >
>> > > On 27 November 2016 at 07:11, Benedikt Ritter <brit...@apache.org>
>> > wrote:
>> > >
>> > > > I thought we decided to abstain from documenting thread safety since
>> it
>> > > > would get outdated quickly anyway.
>> > > >
>> > > > Gary Gregory <garydgreg...@gmail.com> schrieb am So., 27. Nov. 2016
>> um
>> > > > 09:11 Uhr:
>> > > >
>> > > > > But if we then want a runtime version we had an odd packaging with
>> > > CLASS
>> > > > > retention in .concurrent. and RUNTIME in .concurrent.runtime.
>> > > > >
>> > > > > I might be in YAGNI territory here...
>> > > > >
>> > > > > Gary
>> > > > >
>> > > > > On Sat, Nov 26, 2016 at 10:07 PM, Matt Sicker <boa...@gmail.com>
>> > > wrote:
>> > > > >
>> > > > > > I think adding the additional clazz/runtime package would be a
>> > little
>> > > > > > overkill if you only include one packaging option for now.
>> > > > > >
>> > > > > > On 27 November 2016 at 00:04, Gary Gregory <
>> garydgreg...@gmail.com
>> > >
>> > > > > wrote:
>> > > > > >
>> > > > > > > On Nov 26, 2016 8:40 PM, "Matt Sicker" <boa...@gmail.com>
>> wrote:
>> > > > > > > >
>> > > > > > > > I can think of a couple use cases for runtime retention for
>> > > thread
>> > > > > > safety
>> > > > > > > > annotations, but they're not specific to commons lang.
>> > > > > > > >
>> > > > > > > > 1. A framework could choose what type of data structure or
>> > > > algorithm
>> > > > > to
>> > > > > > > use
>> > > > > > > > at runtime based on the presence of which thread safety
>> > > annotation
>> > > > is
>> > > > > > on.
>> > > > > > > > Same for mutability.
>> > > > > > > > 2. A testing framework could use these annotations to try and
>> > > > > automate
>> > > > > > > some
>> > > > > > > > sort of thread safety tests, though that sounds like a hard
>> > > problem
>> > > > > to
>> > > > > > > > actually implement.
>> > > > > > > >
>> > > > > > > > However, it'd be easier to just start with class retention
>> (or
>> > > > source
>> > > > > > > > retention) just for documentation purposes. Higher retention
>> > > levels
>> > > > > > could
>> > > > > > > > be added later if an important use case came up.
>> > > > > > >
>> > > > > > > But which packaging option?
>> > > > > > >
>> > > > > > > Gary
>> > > > > > > >
>> > > > > > > > On 26 November 2016 at 19:56, Gary Gregory <
>> > > garydgreg...@gmail.com
>> > > > >
>> > > > > > > wrote:
>> > > > > > > >
>> > > > > > > > > On Sat, Nov 26, 2016 at 3:54 PM, sebb <seb...@gmail.com>
>> > > wrote:
>> > > > > > > > >
>> > > > > > > > > > On 26 November 2016 at 19:25, Gary Gregory <
>> > > > > garydgreg...@gmail.com
>> > > > > > >
>> > > > > > > > > wrote:
>> > > > > > > > > > > On a [crypto] thread, I mentioned
>> > > > http://pastebin.com/RKPGGdJ9
>> > > > > > to
>> > > > > > > add
>> > > > > > > > > > the
>> > > > > > > > > > > "classic" four javax.annotation.concurrent annotations
>> to
>> > > two
>> > > > > > > packages
>> > > > > > > > > > > (.clazz and .runtime) in Commons Lang for CLASS and
>> > RUNTIME
>> > > > > > > retentions.
>> > > > > > > > > > >
>> > > > > > > > > > > You'd use the CLASS version to avoid a hard dependency
>> on
>> > > > > [lang].
>> > > > > > > > > RUNTIME
>> > > > > > > > > > > to keep them around.
>> > > > > > > > > > >
>> > > > > > > > > > > We'd use the CLASS versions in all of Commons for
>> > > documenting
>> > > > > > > thread
>> > > > > > > > > > safety.
>> > > > > > > > > > >
>> > > > > > > > > > > Thoughts?
>> > > > > > > > > >
>> > > > > > > > > > Definitely Class retention, not Runtime.
>> > > > > > > > > > You don't want to have to include the annotation jar on
>> the
>> > > > > runtime
>> > > > > > > > > > classpath.
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Hi Sebb,
>> > > > > > > > >
>> > > > > > > > > Right now I have both of these packages:
>> > > > > > > > >
>> > > > > > > > > - org.apache.commons.lang3.annotation.concurrent.clazz
>> > > > > > > > > - org.apache.commons.lang3.annotation.concurrent.runtime
>> > > > > > > > >
>> > > > > > > > > Each with a copy of:
>> > > > > > > > >
>> > > > > > > > > GuardedBy
>> > > > > > > > > Immutable
>> > > > > > > > > NotThreadSafe
>> > > > > > > > > ThreadSafe
>> > > > > > > > >
>> > > > > > > > > Should we include what I have as is?
>> > > > > > > > >
>> > > > > > > > > If we were to only provide the annotation at the CLASS
>> > > retention
>> > > > > > level,
>> > > > > > > > > should we still package them in
>> > ...annotation.concurrent.clazz
>> > > in
>> > > > > > case
>> > > > > > > we
>> > > > > > > > > want to provide annotation.concurrent.runtime later?
>> > > > > > > > >
>> > > > > > > > > If we know for certain we never want to provide RUNTIME
>> > > > retention,
>> > > > > we
>> > > > > > > can
>> > > > > > > > > put them all in annotation.concurrent now.
>> > > > > > > > >
>> > > > > > > > > Thoughts?
>> > > > > > > > >
>> > > > > > > > > Gary
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > > [I don't know why the annotations were ever considered
>> > > suitable
>> > > > > for
>> > > > > > > > > > runtime]
>> > > > > > > > > >
>> > > > > > > > > > > Gary
>> > > > > > > > > > >
>> > > > > > > > > > > --
>> > > > > > > > > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> > > > > > > > > > > Java Persistence with Hibernate, Second Edition
>> > > > > > > > > > > <https://www.amazon.com/gp/
>> product/1617290459/ref=as_li_
>> > > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1617290459&
>> > > > > > > > > >
>> > > > > > >
>> > > > > linkCode=as2&tag=garygregory-20&linkId=
>> cadb800f39946ec62ea2b1af9fe6a2
>> > > b8>
>> > > > > > > > > > >
>> > > > > > > > > > > <http:////
>> > > > > > > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> > > > > > > > > > 1617290459>
>> > > > > > > > > > > JUnit in Action, Second Edition
>> > > > > > > > > > > <https://www.amazon.com/gp/
>> product/1935182021/ref=as_li_
>> > > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1935182021&
>> > > > > > > > > > linkCode=as2&tag=garygregory-20&linkId=
>> > > > > > > 31ecd1f6b6d1eaf8886ac902a24de4
>> > > > > > > > > 18%22
>> > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > <http:////
>> > > > > > > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> > > > > > > > > > 1935182021>
>> > > > > > > > > > > Spring Batch in Action
>> > > > > > > > > > > <https://www.amazon.com/gp/
>> product/1935182951/ref=as_li_
>> > > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1935182951&
>> > > > > > > > > >
>> > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> > > > > > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> > > > > > > > > > > <http:////
>> > > > > > > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> > > > > > > > > > 1935182951>
>> > > > > > > > > > > Blog: http://garygregory.wordpress.com
>> > > > > > > > > > > Home: http://garygregory.com/
>> > > > > > > > > > > Tweet! http://twitter.com/GaryGregory
>> > > > > > > > > >
>> > > > > > > > > >
>> > ------------------------------------------------------------
>> > > > > > > ---------
>> > > > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@commons.
>> apache.org
>> > > > > > > > > > For additional commands, e-mail:
>> > dev-h...@commons.apache.org
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > --
>> > > > > > > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> > > > > > > > > Java Persistence with Hibernate, Second Edition
>> > > > > > > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1617290459&
>> > > > > > > > > linkCode=as2&tag=garygregory-20&linkId=
>> > > > > > cadb800f39946ec62ea2b1af9fe6a2
>> > > > > > > b8>
>> > > > > > > > >
>> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> > > > > > garygregory-20&l=am2&o=1&a=
>> > > > > > > > > 1617290459>
>> > > > > > > > > JUnit in Action, Second Edition
>> > > > > > > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1935182021&
>> > > > > > > > >
>> > > > > > > linkCode=as2&tag=garygregory-20&linkId=
>> > > > 31ecd1f6b6d1eaf8886ac902a24de4
>> > > > > > 18%22
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> > > > > > garygregory-20&l=am2&o=1&a=
>> > > > > > > > > 1935182021>
>> > > > > > > > > Spring Batch in Action
>> > > > > > > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> > > > > > > > > tl?ie=UTF8&camp=1789&creative=
>> 9325&creativeASIN=1935182951&
>> > > > > > > > > linkCode=%7B%7BlinkCode%7D%7D&
>> tag=garygregory-20&linkId=%7B%
>> > > > > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> > > > > > garygregory-20&l=am2&o=1&a=
>> > > > > > > > > 1935182951>
>> > > > > > > > > Blog: http://garygregory.wordpress.com
>> > > > > > > > > Home: http://garygregory.com/
>> > > > > > > > > Tweet! http://twitter.com/GaryGregory
>> > > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > --
>> > > > > > > > Matt Sicker <boa...@gmail.com>
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > Matt Sicker <boa...@gmail.com>
>> > > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> > > > > Java Persistence with Hibernate, Second Edition
>> > > > > <
>> > > > > https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
>> > > > linkCode=as2&tag=garygregory-20&linkId=
>> cadb800f39946ec62ea2b1af9fe6a2b8
>> > > > > >
>> > > > >
>> > > > > <http:////
>> > > > >
>> > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459
>> > > >
>> > > > > JUnit in Action, Second Edition
>> > > > > <
>> > > > > https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
>> > > > linkCode=as2&tag=garygregory-20&linkId=
>> 31ecd1f6b6d1eaf8886ac902a24de4
>> > > 18%22
>> > > > > >
>> > > > >
>> > > > > <http:////
>> > > > >
>> > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021
>> > > >
>> > > > > Spring Batch in Action
>> > > > > <
>> > > > > https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
>> > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action
>> > > > > >
>> > > > > <http:////
>> > > > >
>> > ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951
>> > > >
>> > > > > Blog: http://garygregory.wordpress.com
>> > > > > Home: http://garygregory.com/
>> > > > > Tweet! http://twitter.com/GaryGregory
>> > > > >
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > Matt Sicker <boa...@gmail.com>
>> > >
>> >
>>
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
> JUnit in Action, Second Edition
> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
> Spring Batch in Action
> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to