[jira] [Commented] (COMPRESS-637) changes-report.html does not reflect release 1.22

2023-01-10 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17657005#comment-17657005
 ] 

Matt Sicker commented on COMPRESS-637:
--

Oh that must be generated from somewhere. Everything else on the website 
[https://commons.apache.org/proper/commons-compress/] explicitly says 1.22. Can 
the site be patched directly, or does something need to be fixed in 
commons-compress itself first?

Please note this was the first time I ever finished a release at Commons, so I 
have no idea what implicit steps are missing here; you'll need to be more 
explicit.

> changes-report.html does not reflect release 1.22
> -
>
> Key: COMPRESS-637
> URL: https://issues.apache.org/jira/browse/COMPRESS-637
> Project: Commons Compress
>  Issue Type: Improvement
>  Components: Documentation
>Affects Versions: 1.22
>Reporter: MrBump
>Priority: Trivial
> Fix For: 1.22
>
>
> Webpage about releases still does not reflect that Compress 1.22 has been 
> released:
> https://commons.apache.org/proper/commons-compress/changes-report.html
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (COMPRESS-637) changes-report.html does not reflect release 1.22

2023-01-10 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17656758#comment-17656758
 ] 

Matt Sicker commented on COMPRESS-637:
--

What are you talking about? I published the site from 1.22 already I thought?

> changes-report.html does not reflect release 1.22
> -
>
> Key: COMPRESS-637
> URL: https://issues.apache.org/jira/browse/COMPRESS-637
> Project: Commons Compress
>  Issue Type: Improvement
>  Components: Documentation
>Affects Versions: 1.22
>Reporter: MrBump
>Priority: Trivial
> Fix For: 1.22
>
>
> Webpage about releases still does not reflect that Compress 1.22 has been 
> released:
> https://commons.apache.org/proper/commons-compress/changes-report.html
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (COMPRESS-637) changes-report.html does not reflect release 1.22

2023-01-09 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17656249#comment-17656249
 ] 

Matt Sicker commented on COMPRESS-637:
--

How does that get updated? I don't recall seeing anything in the release guide.

> changes-report.html does not reflect release 1.22
> -
>
> Key: COMPRESS-637
> URL: https://issues.apache.org/jira/browse/COMPRESS-637
> Project: Commons Compress
>  Issue Type: Improvement
>  Components: Documentation
>Affects Versions: 1.22
>Reporter: MrBump
>Priority: Trivial
> Fix For: 1.22
>
>
> Webpage about releases still does not reflect that Compress 1.22 has been 
> released:
> https://commons.apache.org/proper/commons-compress/changes-report.html
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-03-21 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated COMPRESS-603:
-
Assignee: Peter Lee

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Assignee: Peter Lee
>Priority: Major
> Fix For: 1.22
>
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-03-21 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved COMPRESS-603.
--
Fix Version/s: 1.22
   Resolution: Fixed

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Fix For: 1.22
>
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-03-21 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17510087#comment-17510087
 ] 

Matt Sicker commented on COMPRESS-603:
--

Alright, I finally had a chance to verify this, and I can confirm that your 
commit fixes the issue. I reproduced the problem with a basic unit test which 
fails with 1.21 but passes with a snapshot of 1.22. Thanks!

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-02-08 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17489035#comment-17489035
 ] 

Matt Sicker commented on COMPRESS-603:
--

I see two potential things that may be contributing to my initial issue:
 # In my affected code, I extract a tarball to a directory created via 
{{{}Files.createTempDirectory().toFile(){}}}; on Linux, this ends up somewhere 
in {{{}/tmp{}}}, though I wonder how this would work if the Java tmpdir is a 
symlink.
 # The affected tarball I was initially notified about has a more complex 
directory structure, but the exception was thrown when the {{./}} directory 
entry at the beginning of the tar file was attempted to be made. Running {{tar 
tf}} on the file shows something like:

{{./}}

{{./foo/}}

{{./foo/bar/}}

{{./foo/bar/baz.txt}}

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-02-07 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488585#comment-17488585
 ] 

Matt Sicker commented on COMPRESS-603:
--

I'll have to reproduce this issue again. I'll get further details from there. 
Did you use GNU tar, bsdtar, or something else when you first tried to create 
foo.tar yourself? I used GNU tar for the attached file, though it might be an 
issue with other tar files.

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-02-07 Thread Matt Sicker (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488298#comment-17488298
 ] 

Matt Sicker commented on COMPRESS-603:
--

Added a basic test file.

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-02-07 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/COMPRESS-603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated COMPRESS-603:
-
Attachment: test.tar.gz

> Expander does not support archives with archive entries beginning with ./
> -
>
> Key: COMPRESS-603
> URL: https://issues.apache.org/jira/browse/COMPRESS-603
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.21
>Reporter: Matt Sicker
>Priority: Major
> Attachments: test.tar.gz
>
>
> Suppose I create a tar file from a directory like so:
>  
> {code:java}
> tar -cf foo.tar ./foo{code}
> When I try to extract the tar entries using the Expander class, that throws a 
> java.io.IOException: Expanding ./ would create file outside of ...
> When I create the tar file without the leading ./, then Expander doesn't 
> complain.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (COMPRESS-603) Expander does not support archives with archive entries beginning with ./

2022-01-05 Thread Matt Sicker (Jira)
Matt Sicker created COMPRESS-603:


 Summary: Expander does not support archives with archive entries 
beginning with ./
 Key: COMPRESS-603
 URL: https://issues.apache.org/jira/browse/COMPRESS-603
 Project: Commons Compress
  Issue Type: Bug
  Components: Archivers
Affects Versions: 1.21
Reporter: Matt Sicker


Suppose I create a tar file from a directory like so:

 
{code:java}
tar -cf foo.tar ./foo{code}
When I try to extract the tar entries using the Expander class, that throws a 
java.io.IOException: Expanding ./ would create file outside of ...

When I create the tar file without the leading ./, then Expander doesn't 
complain.

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (CODEC-296) Add support for Blake3 family of hashes

2021-03-20 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/CODEC-296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved CODEC-296.
---
Resolution: Fixed

Merged to master for the next release.

> Add support for Blake3 family of hashes
> ---
>
> Key: CODEC-296
> URL: https://issues.apache.org/jira/browse/CODEC-296
> Project: Commons Codec
>  Issue Type: New Feature
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Major
> Fix For: 1.16
>
>
> Brief historical context: the original Blake hash algorithm was a finalist in 
> the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
> has several variants, the most popular seem to be Blake2b and Blake2s, though 
> there are a few others that are tuned and tweaked for different use cases. 
> This brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third 
> version of the hash algorithm which unifies the variants into a single 
> interface along with further tuned security parameters for increased 
> performance with negligible impact on security.
> Blake3 is extremely versatile and offers interfaces to use it as a message 
> digest (hash) function, pseudorandom function (PRF), a message authentication 
> code (MAC), a key derivation function (KDF), and an extensible output 
> function (XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) 
> while remaining secure which makes it handy for less security-intensive 
> contexts, too, like file hashing.
> While implementing a MessageDigestSpi is fairly straightforward, a MacSpi 
> needs to be loaded from a signed jar which would complicate things a bit 
> here. A generic commons API here might be easiest to deal with (previous idea 
> of SHO API is a higher level feature).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CODEC-296) Add support for Blake3 family of hashes

2021-03-06 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/CODEC-296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated CODEC-296:
--
Fix Version/s: 1.16

> Add support for Blake3 family of hashes
> ---
>
> Key: CODEC-296
> URL: https://issues.apache.org/jira/browse/CODEC-296
> Project: Commons Codec
>  Issue Type: New Feature
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Major
> Fix For: 1.16
>
>
> Brief historical context: the original Blake hash algorithm was a finalist in 
> the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
> has several variants, the most popular seem to be Blake2b and Blake2s, though 
> there are a few others that are tuned and tweaked for different use cases. 
> This brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third 
> version of the hash algorithm which unifies the variants into a single 
> interface along with further tuned security parameters for increased 
> performance with negligible impact on security.
> Blake3 is extremely versatile and offers interfaces to use it as a message 
> digest (hash) function, pseudorandom function (PRF), a message authentication 
> code (MAC), a key derivation function (KDF), and an extensible output 
> function (XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) 
> while remaining secure which makes it handy for less security-intensive 
> contexts, too, like file hashing.
> While implementing a MessageDigestSpi is fairly straightforward, a MacSpi 
> needs to be loaded from a signed jar which would complicate things a bit 
> here. A generic commons API here might be easiest to deal with (previous idea 
> of SHO API is a higher level feature).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CODEC-296) Add support for Blake3 family of hashes

2021-03-06 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/CODEC-296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated CODEC-296:
--
Description: 
Brief historical context: the original Blake hash algorithm was a finalist in 
the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
has several variants, the most popular seem to be Blake2b and Blake2s, though 
there are a few others that are tuned and tweaked for different use cases. This 
brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third version 
of the hash algorithm which unifies the variants into a single interface along 
with further tuned security parameters for increased performance with 
negligible impact on security.

Blake3 is extremely versatile and offers interfaces to use it as a message 
digest (hash) function, pseudorandom function (PRF), a message authentication 
code (MAC), a key derivation function (KDF), and an extensible output function 
(XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) while 
remaining secure which makes it handy for less security-intensive contexts, 
too, like file hashing.

While implementing a MessageDigestSpi is fairly straightforward, a MacSpi needs 
to be loaded from a signed jar which would complicate things a bit here. A 
generic commons API here might be easiest to deal with (previous idea of SHO 
API is a higher level feature).

  was:
Brief historical context: the original Blake hash algorithm was a finalist in 
the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
has several variants, the most popular seem to be Blake2b and Blake2s, though 
there are a few others that are tuned and tweaked for different use cases. This 
brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third version 
of the hash algorithm which unifies the variants into a single interface along 
with further tuned security parameters for increased performance with 
negligible impact on security.

Blake3 is extremely versatile and offers interfaces to use it as a message 
digest (hash) function, pseudorandom function (PRF), a message authentication 
code (MAC), a key derivation function (KDF), and an extensible output function 
(XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) while 
remaining secure which makes it handy for less security-intensive contexts, 
too, like file hashing.

While implementing a MessageDigestSpi is fairly straightforward, a MacSpi needs 
to be loaded from a signed jar which would complicate things a bit here. A more 
appropriate cryptographic API that encompasses all the above functionality 
would be an interface like the [stateful hash object 
(SHO)|https://github.com/noiseprotocol/sho_spec/blob/master/output/sho.pdf] 
from the noise protocol.


> Add support for Blake3 family of hashes
> ---
>
> Key: CODEC-296
> URL: https://issues.apache.org/jira/browse/CODEC-296
> Project: Commons Codec
>  Issue Type: New Feature
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Major
>
> Brief historical context: the original Blake hash algorithm was a finalist in 
> the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
> has several variants, the most popular seem to be Blake2b and Blake2s, though 
> there are a few others that are tuned and tweaked for different use cases. 
> This brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third 
> version of the hash algorithm which unifies the variants into a single 
> interface along with further tuned security parameters for increased 
> performance with negligible impact on security.
> Blake3 is extremely versatile and offers interfaces to use it as a message 
> digest (hash) function, pseudorandom function (PRF), a message authentication 
> code (MAC), a key derivation function (KDF), and an extensible output 
> function (XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) 
> while remaining secure which makes it handy for less security-intensive 
> contexts, too, like file hashing.
> While implementing a MessageDigestSpi is fairly straightforward, a MacSpi 
> needs to be loaded from a signed jar which would complicate things a bit 
> here. A generic commons API here might be easiest to deal with (previous idea 
> of SHO API is a higher level feature).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CODEC-296) Add support for Blake3 family of hashes

2021-03-06 Thread Matt Sicker (Jira)


 [ 
https://issues.apache.org/jira/browse/CODEC-296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated CODEC-296:
--
Description: 
Brief historical context: the original Blake hash algorithm was a finalist in 
the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
has several variants, the most popular seem to be Blake2b and Blake2s, though 
there are a few others that are tuned and tweaked for different use cases. This 
brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third version 
of the hash algorithm which unifies the variants into a single interface along 
with further tuned security parameters for increased performance with 
negligible impact on security.

Blake3 is extremely versatile and offers interfaces to use it as a message 
digest (hash) function, pseudorandom function (PRF), a message authentication 
code (MAC), a key derivation function (KDF), and an extensible output function 
(XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) while 
remaining secure which makes it handy for less security-intensive contexts, 
too, like file hashing.

While implementing a MessageDigestSpi is fairly straightforward, a MacSpi needs 
to be loaded from a signed jar which would complicate things a bit here. A more 
appropriate cryptographic API that encompasses all the above functionality 
would be an interface like the [stateful hash object 
(SHO)|https://github.com/noiseprotocol/sho_spec/blob/master/output/sho.pdf] 
from the noise protocol.

  was:
Brief historical context: the original Blake hash algorithm was a finalist in 
the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
has several variants, the most popular seem to be Blake2b and Blake2s, though 
there are a few others that are tuned and tweaked for different use cases. This 
brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third version 
of the hash algorithm which unifies the variants into a single interface along 
with further tuned security parameters for increased performance with 
negligible impact on security.

Blake3 is extremely versatile and offers interfaces to use it as a message 
digest (hash) function, pseudorandom function (PRF), a message authentication 
code (MAC), a key derivation function (KDF), and an extensible output function 
(XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) while 
remaining secure which makes it handy for less security-intensive contexts, 
too, like file hashing.

I've previously ported the reference public domain Rust implementation to Java 
for another use case, so the algorithm itself is pretty simple to add here. 
This library doesn't define any interfaces for these concerns, though the Java 
crypto API does have some equivalents for most of those use cases, but they 
might be overkill for this.


> Add support for Blake3 family of hashes
> ---
>
> Key: CODEC-296
> URL: https://issues.apache.org/jira/browse/CODEC-296
> Project: Commons Codec
>  Issue Type: New Feature
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Major
>
> Brief historical context: the original Blake hash algorithm was a finalist in 
> the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
> has several variants, the most popular seem to be Blake2b and Blake2s, though 
> there are a few others that are tuned and tweaked for different use cases. 
> This brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third 
> version of the hash algorithm which unifies the variants into a single 
> interface along with further tuned security parameters for increased 
> performance with negligible impact on security.
> Blake3 is extremely versatile and offers interfaces to use it as a message 
> digest (hash) function, pseudorandom function (PRF), a message authentication 
> code (MAC), a key derivation function (KDF), and an extensible output 
> function (XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) 
> while remaining secure which makes it handy for less security-intensive 
> contexts, too, like file hashing.
> While implementing a MessageDigestSpi is fairly straightforward, a MacSpi 
> needs to be loaded from a signed jar which would complicate things a bit 
> here. A more appropriate cryptographic API that encompasses all the above 
> functionality would be an interface like the [stateful hash object 
> (SHO)|https://github.com/noiseprotocol/sho_spec/blob/master/output/sho.pdf] 
> from the noise protocol.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (CODEC-296) Add support for Blake3 family of hashes

2021-03-06 Thread Matt Sicker (Jira)
Matt Sicker created CODEC-296:
-

 Summary: Add support for Blake3 family of hashes
 Key: CODEC-296
 URL: https://issues.apache.org/jira/browse/CODEC-296
 Project: Commons Codec
  Issue Type: New Feature
Reporter: Matt Sicker
Assignee: Matt Sicker


Brief historical context: the original Blake hash algorithm was a finalist in 
the SHA-3 competition. The second version, [Blake2|https://www.blake2.net/], 
has several variants, the most popular seem to be Blake2b and Blake2s, though 
there are a few others that are tuned and tweaked for different use cases. This 
brings us to [Blake3|https://github.com/BLAKE3-team/BLAKE3], the third version 
of the hash algorithm which unifies the variants into a single interface along 
with further tuned security parameters for increased performance with 
negligible impact on security.

Blake3 is extremely versatile and offers interfaces to use it as a message 
digest (hash) function, pseudorandom function (PRF), a message authentication 
code (MAC), a key derivation function (KDF), and an extensible output function 
(XOF). It is also faster than MD5 and SHA-1 (and SHA-2 and SHA-3) while 
remaining secure which makes it handy for less security-intensive contexts, 
too, like file hashing.

I've previously ported the reference public domain Rust implementation to Java 
for another use case, so the algorithm itself is pretty simple to add here. 
This library doesn't define any interfaces for these concerns, though the Java 
crypto API does have some equivalents for most of those use cases, but they 
might be overkill for this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (FUNCTOR-31) Clean up API for Java 8

2019-08-03 Thread Matt Sicker (JIRA)


[ 
https://issues.apache.org/jira/browse/FUNCTOR-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16899506#comment-16899506
 ] 

Matt Sicker commented on FUNCTOR-31:


Upon further exploration, if we went to Java 8 for this component, then a lot 
of other code can be removed or refactored into lambdas. All the adapter 
classes are unnecessary thanks to SAM and lambda functions in general. The 
aggregator classes can likely be combined functionally with the Java 8 
Collector API. The comparators and composites are also available in Java 8 
already. The generator classes seem related to collectors and streams.

The collection classes look useful since Java 8 never provided functional 
versions of Iterator despite being similar to Stream/Spliterator. The range 
types as well.

Some expansion on other common type classes would be super useful, though not 
necessarily part of this.

What remains after removing all that is hard to say.

> Clean up API for Java 8
> ---
>
> Key: FUNCTOR-31
> URL: https://issues.apache.org/jira/browse/FUNCTOR-31
> Project: Commons Functor
>  Issue Type: New Feature
>Reporter: Matt Sicker
>Priority: Major
>
> All the interfaces from commons-functor-api have equivalent interfaces in 
> java.util.function. Several functor implementation classes in the core module 
> can also be simplified thanks to lambda functions.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (FUNCTOR-31) Clean up API for Java 8

2019-08-03 Thread Matt Sicker (JIRA)
Matt Sicker created FUNCTOR-31:
--

 Summary: Clean up API for Java 8
 Key: FUNCTOR-31
 URL: https://issues.apache.org/jira/browse/FUNCTOR-31
 Project: Commons Functor
  Issue Type: New Feature
Reporter: Matt Sicker


All the interfaces from commons-functor-api have equivalent interfaces in 
java.util.function. Several functor implementation classes in the core module 
can also be simplified thanks to lambda functions.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (IO-596) Add DeleteFiles utility class for more robust file deletion strategies

2018-12-26 Thread Matt Sicker (JIRA)
Matt Sicker created IO-596:
--

 Summary: Add DeleteFiles utility class for more robust file 
deletion strategies
 Key: IO-596
 URL: https://issues.apache.org/jira/browse/IO-596
 Project: Commons IO
  Issue Type: New Feature
  Components: Utilities
Reporter: Matt Sicker
Assignee: Matt Sicker


Particularly for Windows environments where deleting files can turn into a 
hassle due to the inability to remove open files, I would like to provide a 
file deletion utility class that has the ability to retry deletions with 
exponential backoff, force override file attributes to allow for deletion, and 
deleting as much as possible while accumulating errors.

This functionality was originally inspired by and based on functionality in 
Jenkins hudson.Util class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IO-596) Add DeleteFiles utility class for more robust file deletion strategies

2018-12-26 Thread Matt Sicker (JIRA)


[ 
https://issues.apache.org/jira/browse/IO-596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16729211#comment-16729211
 ] 

Matt Sicker commented on IO-596:


Added link to PR.

> Add DeleteFiles utility class for more robust file deletion strategies
> --
>
> Key: IO-596
> URL: https://issues.apache.org/jira/browse/IO-596
> Project: Commons IO
>  Issue Type: New Feature
>  Components: Utilities
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Particularly for Windows environments where deleting files can turn into a 
> hassle due to the inability to remove open files, I would like to provide a 
> file deletion utility class that has the ability to retry deletions with 
> exponential backoff, force override file attributes to allow for deletion, 
> and deleting as much as possible while accumulating errors.
> This functionality was originally inspired by and based on functionality in 
> Jenkins hudson.Util class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IO-595) Add similar util class as FileUtils for java.nio.file.Path

2018-12-21 Thread Matt Sicker (JIRA)


[ 
https://issues.apache.org/jira/browse/IO-595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16727081#comment-16727081
 ] 

Matt Sicker commented on IO-595:


Added some proposals to the description.

> Add similar util class as FileUtils for java.nio.file.Path
> --
>
> Key: IO-595
> URL: https://issues.apache.org/jira/browse/IO-595
> Project: Commons IO
>  Issue Type: New Feature
>  Components: Utilities
>Reporter: Matt Sicker
>Priority: Major
>
> There are several utility methods in FileUtils that are not present in the 
> Java 7 Files API for Path. These would make up a useful basis for a PathUtils 
> class to complement Java's java.nio.file package. Below is a listing of 
> method ideas adapted from FileUtils for Path that are not already covered by 
> java.nio.file.Files or trivially adapted to something there.
>  * touch(Path)
>  * contentEquals(Path, Path)
>  * copyDirectoryToDirectory(Path, Path, CopyOption...)
>  * copyDirectory(Path, Path, CopyOption...)
>  * copyDirectory(Path, Path, PathMatcher, CopyOption...)
>  * deleteDirectory(Path)
>  * deleteQuietly(Path)
>  * directoryContains(Path, Path)
>  * cleanDirectory(Path)
>  * waitFor(Path, long, TimeUnit)
>  * forceDelete(Path)
>  * forceDeleteOnExit(Path)
>  * forceMkdir(Path)
>  * forceMkdirParent(Path)
>  * sizeOfDirectory(Path) - probably just return BigInteger only



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IO-595) Add similar util class as FileUtils for java.nio.file.Path

2018-12-21 Thread Matt Sicker (JIRA)


 [ 
https://issues.apache.org/jira/browse/IO-595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated IO-595:
---
Description: 
There are several utility methods in FileUtils that are not present in the Java 
7 Files API for Path. These would make up a useful basis for a PathUtils class 
to complement Java's java.nio.file package. Below is a listing of method ideas 
adapted from FileUtils for Path that are not already covered by 
java.nio.file.Files or trivially adapted to something there.
 * touch(Path)
 * contentEquals(Path, Path)
 * copyDirectoryToDirectory(Path, Path, CopyOption...)
 * copyDirectory(Path, Path, CopyOption...)
 * copyDirectory(Path, Path, PathMatcher, CopyOption...)
 * deleteDirectory(Path)
 * deleteQuietly(Path)
 * directoryContains(Path, Path)
 * cleanDirectory(Path)
 * waitFor(Path, long, TimeUnit)
 * forceDelete(Path)
 * forceDeleteOnExit(Path)
 * forceMkdir(Path)
 * forceMkdirParent(Path)
 * sizeOfDirectory(Path) - probably just return BigInteger only

  was:There are several utility methods in FileUtils that are not present in 
the Java 7 Files API for Path. These would make up a useful basis for a 
PathUtils class to complement Java's java.nio.file package.


> Add similar util class as FileUtils for java.nio.file.Path
> --
>
> Key: IO-595
> URL: https://issues.apache.org/jira/browse/IO-595
> Project: Commons IO
>  Issue Type: New Feature
>  Components: Utilities
>Reporter: Matt Sicker
>Priority: Major
>
> There are several utility methods in FileUtils that are not present in the 
> Java 7 Files API for Path. These would make up a useful basis for a PathUtils 
> class to complement Java's java.nio.file package. Below is a listing of 
> method ideas adapted from FileUtils for Path that are not already covered by 
> java.nio.file.Files or trivially adapted to something there.
>  * touch(Path)
>  * contentEquals(Path, Path)
>  * copyDirectoryToDirectory(Path, Path, CopyOption...)
>  * copyDirectory(Path, Path, CopyOption...)
>  * copyDirectory(Path, Path, PathMatcher, CopyOption...)
>  * deleteDirectory(Path)
>  * deleteQuietly(Path)
>  * directoryContains(Path, Path)
>  * cleanDirectory(Path)
>  * waitFor(Path, long, TimeUnit)
>  * forceDelete(Path)
>  * forceDeleteOnExit(Path)
>  * forceMkdir(Path)
>  * forceMkdirParent(Path)
>  * sizeOfDirectory(Path) - probably just return BigInteger only



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IO-595) Add similar util class as FileUtils for java.nio.file.Path

2018-12-21 Thread Matt Sicker (JIRA)
Matt Sicker created IO-595:
--

 Summary: Add similar util class as FileUtils for java.nio.file.Path
 Key: IO-595
 URL: https://issues.apache.org/jira/browse/IO-595
 Project: Commons IO
  Issue Type: New Feature
  Components: Utilities
Reporter: Matt Sicker


There are several utility methods in FileUtils that are not present in the Java 
7 Files API for Path. These would make up a useful basis for a PathUtils class 
to complement Java's java.nio.file package.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IO-576) FileUtils.deleteDirectory() doesn't specify how it handles links

2018-12-21 Thread Matt Sicker (JIRA)


[ 
https://issues.apache.org/jira/browse/IO-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16726932#comment-16726932
 ] 

Matt Sicker commented on IO-576:


Looking into the source, it does not recurse into symbolic links, though it 
does call delete on the symbolic link itself. The specific behavior of 
following links seems to be undefined (though it is supported in the NIO2 API). 
I wonder if this would be better served by an equivalent util class around Path 
instead of File.

> FileUtils.deleteDirectory() doesn't specify how it handles links
> 
>
> Key: IO-576
> URL: https://issues.apache.org/jira/browse/IO-576
> Project: Commons IO
>  Issue Type: Improvement
>  Components: Utilities
>Affects Versions: 2.5
> Environment: Linux
>Reporter: david cogen
>Priority: Major
>  Labels: documentation
>
> If the directory I specify to FileUtils.deleteDirectory() contains a symbolic 
> link, does it follow the link and delete all the files the link points to?
> (I HOPE not!)
> But without the promise, I consider this too dangerous to contemplate using.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (POOL-335) Make abandoned logging stack trace requirements configurable

2017-11-10 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved POOL-335.
--
Resolution: Fixed

Added to master.

> Make abandoned logging stack trace requirements configurable
> 
>
> Key: POOL-335
> URL: https://issues.apache.org/jira/browse/POOL-335
> Project: Commons Pool
>  Issue Type: New Feature
>Affects Versions: 2.4.3
>Reporter: Matt Sicker
>Assignee: Matt Sicker
> Fix For: 2.5
>
>
> The feature introduced by POOL-320 causes abandoned connection logs to only 
> output the class names of the call stack. This feature would make this 
> configurable along with reverting the default behavior to use the full stack 
> trace.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (POOL-335) Make abandoned logging stack trace requirements configurable

2017-11-10 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated POOL-335:
-
Fix Version/s: (was: 2.4.4)
   2.5

> Make abandoned logging stack trace requirements configurable
> 
>
> Key: POOL-335
> URL: https://issues.apache.org/jira/browse/POOL-335
> Project: Commons Pool
>  Issue Type: New Feature
>Affects Versions: 2.4.3
>Reporter: Matt Sicker
>Assignee: Matt Sicker
> Fix For: 2.5
>
>
> The feature introduced by POOL-320 causes abandoned connection logs to only 
> output the class names of the call stack. This feature would make this 
> configurable along with reverting the default behavior to use the full stack 
> trace.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (POOL-335) Make abandoned logging stack trace requirements configurable

2017-11-10 Thread Matt Sicker (JIRA)
Matt Sicker created POOL-335:


 Summary: Make abandoned logging stack trace requirements 
configurable
 Key: POOL-335
 URL: https://issues.apache.org/jira/browse/POOL-335
 Project: Commons Pool
  Issue Type: New Feature
Affects Versions: 2.4.3
Reporter: Matt Sicker
Assignee: Matt Sicker
 Fix For: 2.4.4


The feature introduced by POOL-320 causes abandoned connection logs to only 
output the class names of the call stack. This feature would make this 
configurable along with reverting the default behavior to use the full stack 
trace.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (POOL-320) Use more efficient stack walking mechanisms for usage tracking

2017-03-04 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved POOL-320.
--
Resolution: Fixed

> Use more efficient stack walking mechanisms for usage tracking
> --
>
> Key: POOL-320
> URL: https://issues.apache.org/jira/browse/POOL-320
> Project: Commons Pool
>  Issue Type: Improvement
>Affects Versions: 2.4.2
>Reporter: Matt Sicker
>Assignee: Matt Sicker
> Fix For: 2.4.3
>
>
> When usage tracking is enabled, pooled object users are discovered by 
> creating an exception. This is slower than optimal which could be done via 
> various strategies such as a SecurityManager, reflection on the internal 
> Reflection class, or for Java 9 users, the new StackWalker API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Reopened] (POOL-320) Use more efficient stack walking mechanisms for usage tracking

2017-03-04 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker reopened POOL-320:
--

Reopening to mark as resolved instead of closed as all other issues marked for 
2.4.3 are only resolved.

> Use more efficient stack walking mechanisms for usage tracking
> --
>
> Key: POOL-320
> URL: https://issues.apache.org/jira/browse/POOL-320
> Project: Commons Pool
>  Issue Type: Improvement
>Affects Versions: 2.4.2
>Reporter: Matt Sicker
>Assignee: Matt Sicker
> Fix For: 2.4.3
>
>
> When usage tracking is enabled, pooled object users are discovered by 
> creating an exception. This is slower than optimal which could be done via 
> various strategies such as a SecurityManager, reflection on the internal 
> Reflection class, or for Java 9 users, the new StackWalker API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (POOL-320) Use more efficient stack walking mechanisms for usage tracking

2017-03-04 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker closed POOL-320.

   Resolution: Fixed
Fix Version/s: 2.4.3

Added in subversion revision 1785520 in trunk.

> Use more efficient stack walking mechanisms for usage tracking
> --
>
> Key: POOL-320
> URL: https://issues.apache.org/jira/browse/POOL-320
> Project: Commons Pool
>  Issue Type: Improvement
>Affects Versions: 2.4.2
>Reporter: Matt Sicker
>Assignee: Matt Sicker
> Fix For: 2.4.3
>
>
> When usage tracking is enabled, pooled object users are discovered by 
> creating an exception. This is slower than optimal which could be done via 
> various strategies such as a SecurityManager, reflection on the internal 
> Reflection class, or for Java 9 users, the new StackWalker API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (POOL-320) Use more efficient stack walking mechanisms for usage tracking

2017-03-04 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/POOL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated POOL-320:
-
Assignee: Matt Sicker

> Use more efficient stack walking mechanisms for usage tracking
> --
>
> Key: POOL-320
> URL: https://issues.apache.org/jira/browse/POOL-320
> Project: Commons Pool
>  Issue Type: Improvement
>Affects Versions: 2.4.2
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>
> When usage tracking is enabled, pooled object users are discovered by 
> creating an exception. This is slower than optimal which could be done via 
> various strategies such as a SecurityManager, reflection on the internal 
> Reflection class, or for Java 9 users, the new StackWalker API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (POOL-320) Use more efficient stack walking mechanisms for usage tracking

2017-03-03 Thread Matt Sicker (JIRA)
Matt Sicker created POOL-320:


 Summary: Use more efficient stack walking mechanisms for usage 
tracking
 Key: POOL-320
 URL: https://issues.apache.org/jira/browse/POOL-320
 Project: Commons Pool
  Issue Type: Improvement
Affects Versions: 2.4.2
Reporter: Matt Sicker


When usage tracking is enabled, pooled object users are discovered by creating 
an exception. This is slower than optimal which could be done via various 
strategies such as a SecurityManager, reflection on the internal Reflection 
class, or for Java 9 users, the new StackWalker API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-08 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15412100#comment-15412100
 ] 

Matt Sicker commented on DBCP-454:
--

I don't think that partial thing is correct, either. I get the following error 
when installing this new version in Karaf 3.0.4:

{noformat}
java.lang.Exception: Could not start bundle 
mvn:org.apache.commons/commons-dbcp2/2.2 in feature(s) commons-dbcp2-2.2: 
Unresolved constraint in bundle org.apache.commons.dbcp2 [269]: Unable to 
resolve 269.0: missing requirement [269.0] osgi.wiring.package; 
(&(osgi.wiring.package=javax.transaction.xa)(version>=1.1.0)(partial=true))
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:521)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:476)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:417)[20:org.apache.karaf.features.core:3.0.4]
at Proxy3ddcd89e_6018_4343_b5b3_8693418616e1.installFeature(Unknown 
Source)[:]
at Proxy1c5ca9a8_a504_40c1_a273_6f4767d76de4.installFeature(Unknown 
Source)[:]
at 
org.apache.karaf.kar.internal.KarServiceImpl.installFeatures(KarServiceImpl.java:215)[109:org.apache.karaf.kar.core:3.0.4]
at 
org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:96)[109:org.apache.karaf.kar.core:3.0.4]
at 
org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:84)[109:org.apache.karaf.kar.core:3.0.4]
at Proxy670dd4c1_ba32_408b_9988_4daea71b6bc9.install(Unknown Source)[:]
at Proxye95b24d0_c408_4277_a3ea_4b500b9f30a0.install(Unknown Source)[:]
at 
org.apache.karaf.deployer.kar.KarArtifactInstaller.install(KarArtifactInstaller.java:50)[111:org.apache.karaf.deployer.kar:3.0.4]
at Proxy370ffdac_0056_40be_877f_c9735fc99d7c.install(Unknown Source)[:]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:931)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:865)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:482)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[7:org.apache.felix.fileinstall:3.5.0]
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle 
org.apache.commons.dbcp2 [269]: Unable to resolve 269.0: missing requirement 
[269.0] osgi.wiring.package; 
(&(osgi.wiring.package=javax.transaction.xa)(version>=1.1.0)(partial=true))
at 
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.Felix.startBundle(Felix.java:2037)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:518)[20:org.apache.karaf.features.core:3.0.4]
... 16 more
{noformat}

I've installed the transaction feature first which imports JTA 1.1.0, so it's 
definitely available.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refus

[jira] [Comment Edited] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-08 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15412100#comment-15412100
 ] 

Matt Sicker edited comment on DBCP-454 at 8/8/16 5:18 PM:
--

I don't think that partial thing is correct, either. I get the following error 
when installing this new version in Karaf 3.0.4:

{noformat}
java.lang.Exception: Could not start bundle 
mvn:org.apache.commons/commons-dbcp2/2.2 in feature(s) commons-dbcp2-2.2: 
Unresolved constraint in bundle org.apache.commons.dbcp2 [269]: Unable to 
resolve 269.0: missing requirement [269.0] osgi.wiring.package; 
(&(osgi.wiring.package=javax.transaction.xa)(version>=1.1.0)(partial=true))
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:521)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:476)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:417)[20:org.apache.karaf.features.core:3.0.4]
at Proxy3ddcd89e_6018_4343_b5b3_8693418616e1.installFeature(Unknown 
Source)[:]
at Proxy1c5ca9a8_a504_40c1_a273_6f4767d76de4.installFeature(Unknown 
Source)[:]
at 
org.apache.karaf.kar.internal.KarServiceImpl.installFeatures(KarServiceImpl.java:215)[109:org.apache.karaf.kar.core:3.0.4]
at 
org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:96)[109:org.apache.karaf.kar.core:3.0.4]
at 
org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:84)[109:org.apache.karaf.kar.core:3.0.4]
at Proxy670dd4c1_ba32_408b_9988_4daea71b6bc9.install(Unknown Source)[:]
at Proxye95b24d0_c408_4277_a3ea_4b500b9f30a0.install(Unknown Source)[:]
at 
org.apache.karaf.deployer.kar.KarArtifactInstaller.install(KarArtifactInstaller.java:50)[111:org.apache.karaf.deployer.kar:3.0.4]
at Proxy370ffdac_0056_40be_877f_c9735fc99d7c.install(Unknown Source)[:]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:931)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:865)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:482)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[7:org.apache.felix.fileinstall:3.5.0]
at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[7:org.apache.felix.fileinstall:3.5.0]
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle 
org.apache.commons.dbcp2 [269]: Unable to resolve 269.0: missing requirement 
[269.0] osgi.wiring.package; 
(&(osgi.wiring.package=javax.transaction.xa)(version>=1.1.0)(partial=true))
at 
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.Felix.startBundle(Felix.java:2037)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)[org.apache.felix.framework-4.2.1.jar:]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:518)[20:org.apache.karaf.features.core:3.0.4]
... 16 more
{noformat}

I've installed the transaction feature first which imports JTA 1.1.0, so it's 
definitely available.

Also, some info about this partial/mandatory hack: 
http://apache-geronimo.328035.n3.nabble.com/Understanding-the-quot-partial-true-mandatory-partial-quot-trick-td396729.html


was (Author: jvz):
I don't think that partial thing is correct, either. I get the following error 
when installing this new version in Karaf 3.0.4:

{noformat}
java.lang.Exception: Could not start bundle 
mvn:org.apache.commons/commons-dbcp2/2.2 in feature(s) commons-dbcp2-2.2: 
Unresolved constraint in bundle org.apache.commons.dbcp2 [269]: Unable to 
resolve 269.0: missing requirement [269.0] osgi.wiring.package; 
(&(osgi.wiring.package=javax.transaction.xa)(version>=1.1.0)(partial=true))
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:521)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:476)[20:org.apache.karaf.features.core:3.0.4]
at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:417)[20:org.apache.karaf.featur

[jira] [Reopened] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-08 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker reopened DBCP-454:
--

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404834#comment-15404834
 ] 

Matt Sicker commented on DBCP-454:
--

I've created DBCP-467 to add such a test here at least. Maybe it could end up 
being generified to a sort of commons-osgi-itest type of artifact that can be 
included as a test-scoped dependency on each commons project. Then each project 
can reuse those generic tests.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DBCP-467) Add OSGi integration tests

2016-08-02 Thread Matt Sicker (JIRA)
Matt Sicker created DBCP-467:


 Summary: Add OSGi integration tests
 Key: DBCP-467
 URL: https://issues.apache.org/jira/browse/DBCP-467
 Project: Commons Dbcp
  Issue Type: Improvement
 Environment: OSGi 4.3 or 5.0
Reporter: Matt Sicker


It would be nice to have a proper integration test with an OSGi container such 
as Felix, Equinox, or even Karaf. This test should verify that DBCP installs 
properly into an OSGi container and can be used as such. This test could use 
[pax exam|https://ops4j1.jira.com/wiki/display/PAXEXAM4/Documentation] or 
something simpler if feasible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404817#comment-15404817
 ] 

Matt Sicker commented on DBCP-454:
--

It would be really neat to make a more commons-friendly generic unit test that 
can be copied around to make sure that each component properly installs into an 
OSGi container.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404789#comment-15404789
 ] 

Matt Sicker commented on DBCP-454:
--

Yeah, basically. That's how pax-exam is supposed to work by default which 
sounds rather out of place when you're trying to integration test modules in 
the same repository (e.g., snapshot builds). I might be reading the 
documentation wrong, but even that is unhelpful as all the examples are too 
trivial.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404769#comment-15404769
 ] 

Matt Sicker commented on DBCP-454:
--

Log4j doesn't require any dependencies, but dbcp does, so it makes it a lot 
more complicated than the AbstractLoadBundleTest from Log4j. I figured pax-exam 
would provide the capability of adding all those dependencies for me, but then 
I got other errors instead that are unrelated to dbcp or osgi. [Here's a 
related 
test|https://github.com/ops4j/org.ops4j.pax.jdbc/blob/master/pax-jdbc-itest/src/test/java/org/ops4j/pax/jdbc/test/pool/PoolDbcp2Test.java]
 that would fail if dbcp itself was exporting the wrong headers (as with this 
bug). The thing is with pax projects is that these types of tests are run in a 
separate maven module, presumably to prevent the issues I was having, and that 
would require a restructuring of dbcp which is rather complicated.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker resolved DBCP-454.
--
   Resolution: Fixed
Fix Version/s: 2.2

Fixed in revision 1754999. I gave up on trying to make a pax-exam unit test as 
it's far too complicated to get working for this type of use case. Right now, 
the best way to verify that this works is to simply install the jar (and 
dependencies) to a Karaf container and make sure you can run {{bundle:start}} 
on it. More proper OSGi tests are included in the [pax-jdbc 
version|https://github.com/ops4j/org.ops4j.pax.jdbc/tree/master/pax-jdbc-pool-dbcp2]
 of dbcp2.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Fix For: 2.2
>
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DBCP-466) Upgrade test scoped Geronimo Transaction to 2.2.1

2016-08-02 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker closed DBCP-466.

Resolution: Invalid

Well, it worked the first time for some reason, but when I built again, 
everything exploded. Nevermind.

> Upgrade test scoped Geronimo Transaction to 2.2.1
> -
>
> Key: DBCP-466
> URL: https://issues.apache.org/jira/browse/DBCP-466
> Project: Commons Dbcp
>  Issue Type: Improvement
>Affects Versions: 2.2
>Reporter: Matt Sicker
>
> An old comment states,
> {quote}
>Cannot update this currently; anything later causes failures:
>java.lang.NoClassDefFoundError: 
>Could not initialize class 
> org.apache.geronimo.transaction.manager.TransactionManagerImpl
> {quote}
> However, upon testing with 2.2.1, this is no longer an issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DBCP-466) Upgrade test scoped Geronimo Transaction to 2.2.1

2016-08-02 Thread Matt Sicker (JIRA)
Matt Sicker created DBCP-466:


 Summary: Upgrade test scoped Geronimo Transaction to 2.2.1
 Key: DBCP-466
 URL: https://issues.apache.org/jira/browse/DBCP-466
 Project: Commons Dbcp
  Issue Type: Improvement
Affects Versions: 2.2
Reporter: Matt Sicker


An old comment states,

{quote}
   Cannot update this currently; anything later causes failures:
   java.lang.NoClassDefFoundError: 
   Could not initialize class 
org.apache.geronimo.transaction.manager.TransactionManagerImpl
{quote}

However, upon testing with 2.2.1, this is no longer an issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404640#comment-15404640
 ] 

Matt Sicker commented on DBCP-454:
--

It looks like version 1.1 is needed at least (DBCP-445), so a version range 
would be more appropriate anyways. That's the problem with Java EE APIs; they 
aren't versioned properly for OSGi.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404568#comment-15404568
 ] 

Matt Sicker commented on DBCP-454:
--

I cam across this issue during the 2.2 rc1. I came to the same conclusion as 
the patch here (see the duplicate ticket). I'm trying to get a working unit 
test using pax-exam, but it's a bit more difficult than I expected.

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Assignee: Matt Sicker
>Priority: Blocker
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DBCP-465) OSGi import-package has repeated packages causing a runtime failure

2016-08-02 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker closed DBCP-465.

Resolution: Fixed

> OSGi import-package has repeated packages causing a runtime failure
> ---
>
> Key: DBCP-465
> URL: https://issues.apache.org/jira/browse/DBCP-465
> Project: Commons Dbcp
>  Issue Type: Bug
> Environment: Karaf 3.0.4, Java 8, DBCP 2.2 rc1
>Reporter: Matt Sicker
>Assignee: Matt Sicker
>Priority: Blocker
>
> Building from trunk or 2.2rc1, here's the import-package manifest:
> {code}
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion;version="1.1.0",javax.transaction.xa;version="1.1.0";partial=true
>  ;mandatory:=partial
> {code}
> As can be seen, the JTA packages are being imported twice. This is causing a 
> runtime failure in Karaf on startup of this bundle.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DBCP-454) OSGi declarations contain multiple import headers for javax.transaction

2016-08-02 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated DBCP-454:
-
Priority: Blocker  (was: Trivial)

> OSGi declarations contain multiple import headers for javax.transaction
> ---
>
> Key: DBCP-454
> URL: https://issues.apache.org/jira/browse/DBCP-454
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: OSGi
>Reporter: Philipp Marx
>Priority: Blocker
> Attachments: patch
>
>
> In DBCP-445 an issue for "javax.transaction" import-packages was addressed. 
> Though with the fix for this issue the import-packages will contain 
> "javax.transaction" twice:
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion.xa;version="1.1.0";partial=true;mandatory:=partial,javax.transact
>  ion;version="1.1.0"
> Thus the bundle can't be loaded as duplicate import declarations are 
> prohibited and i.e. Felix will complain about this and refuse to install the 
> bundle. The fix is quite simple by appending the '*' to the end (see attached 
> patch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-465) OSGi import-package has repeated packages causing a runtime failure

2016-08-02 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404385#comment-15404385
 ] 

Matt Sicker commented on DBCP-465:
--

It appears the issue was because of where the {{*}} was located in the 
{{Import-Package}} instruction in the pom. Putting it at the end generate the 
correct manifest. I'd like to add a unit test, though, and that's less trivial.

> OSGi import-package has repeated packages causing a runtime failure
> ---
>
> Key: DBCP-465
> URL: https://issues.apache.org/jira/browse/DBCP-465
> Project: Commons Dbcp
>  Issue Type: Bug
> Environment: Karaf 3.0.4, Java 8, DBCP 2.2 rc1
>Reporter: Matt Sicker
>Priority: Blocker
>
> Building from trunk or 2.2rc1, here's the import-package manifest:
> {code}
> Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
>  ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
>  org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
>  ion;version="1.1.0",javax.transaction.xa;version="1.1.0";partial=true
>  ;mandatory:=partial
> {code}
> As can be seen, the JTA packages are being imported twice. This is causing a 
> runtime failure in Karaf on startup of this bundle.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DBCP-465) OSGi import-package has repeated packages causing a runtime failure

2016-08-02 Thread Matt Sicker (JIRA)
Matt Sicker created DBCP-465:


 Summary: OSGi import-package has repeated packages causing a 
runtime failure
 Key: DBCP-465
 URL: https://issues.apache.org/jira/browse/DBCP-465
 Project: Commons Dbcp
  Issue Type: Bug
 Environment: Karaf 3.0.4, Java 8, DBCP 2.2 rc1
Reporter: Matt Sicker
Priority: Blocker


Building from trunk or 2.2rc1, here's the import-package manifest:

{code}
Import-Package: javax.management,javax.naming,javax.naming.spi,javax.s
 ql,javax.transaction,javax.transaction.xa,org.apache.commons.logging,
 org.apache.commons.pool2,org.apache.commons.pool2.impl,javax.transact
 ion;version="1.1.0",javax.transaction.xa;version="1.1.0";partial=true
 ;mandatory:=partial
{code}

As can be seen, the JTA packages are being imported twice. This is causing a 
runtime failure in Karaf on startup of this bundle.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-436) Avoid executing ROLLBACK when transaction is not active

2016-07-28 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15398498#comment-15398498
 ] 

Matt Sicker commented on DBCP-436:
--

I updated the fix version to 2.3, but it looks like you guys wanna close this.

> Avoid executing ROLLBACK when transaction is not active
> ---
>
> Key: DBCP-436
> URL: https://issues.apache.org/jira/browse/DBCP-436
> Project: Commons Dbcp
>  Issue Type: Improvement
>Reporter: Michael Mikhulya
>  Labels: performance
> Fix For: 2.3
>
>
> {{rollbackOnReturn}} terminates the transaction by calling {{rollback}} on 
> the connection as it is returned to the pool.
> It hurts performance.
> I suggest to don't call {{rollback}} if transaction is not active.
> Such improvement is done in HikariCP:
> https://github.com/brettwooldridge/HikariCP/issues/177



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DBCP-436) Avoid executing ROLLBACK when transaction is not active

2016-07-28 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated DBCP-436:
-
Fix Version/s: 2.3

> Avoid executing ROLLBACK when transaction is not active
> ---
>
> Key: DBCP-436
> URL: https://issues.apache.org/jira/browse/DBCP-436
> Project: Commons Dbcp
>  Issue Type: Improvement
>Reporter: Michael Mikhulya
>  Labels: performance
> Fix For: 2.3
>
>
> {{rollbackOnReturn}} terminates the transaction by calling {{rollback}} on 
> the connection as it is returned to the pool.
> It hurts performance.
> I suggest to don't call {{rollback}} if transaction is not active.
> Such improvement is done in HikariCP:
> https://github.com/brettwooldridge/HikariCP/issues/177



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DBCP-427) Examines 'SQLException's thrown by underlying connections or statements for fatal (disconnection) errors

2016-07-28 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated DBCP-427:
-
Fix Version/s: (was: 2.2)
   2.3

> Examines 'SQLException's thrown by underlying connections or statements for 
> fatal (disconnection) errors
> 
>
> Key: DBCP-427
> URL: https://issues.apache.org/jira/browse/DBCP-427
> Project: Commons Dbcp
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Vladimir Konkov
>Priority: Minor
> Fix For: 2.3
>
> Attachments: DBCP-427_initial_impl.diff
>
>
> Affected cases:
> 1. Ability to detect severed connection without need for validity check (it 
> can be time demand).
> 2. Not all fatal errors detected with simple validation query or isValid() 
> call. For example: 
> Broken XA connections of MS SQL Server and Oracle Database (and may be other) 
> pass validation for both isValid() and simple validation query such as 'SELEC 
> 1 FROM DUAL' but throw fatal errors on data and/or transaction manipulation 
> calls. Such errors gone only after reconnect. In case of use DBCP for polling 
> application has no chance to cleanup broken connection.
> By providing infractructure for check thrown exceptions and mark 
> PoolableConnection as poisoned we can cleanup pool on validation phase.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DBCP-388) Support AbandonedConfig in SharedPoolDataSource

2016-07-28 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated DBCP-388:
-
Fix Version/s: (was: 2.2)
   2.3

> Support AbandonedConfig in SharedPoolDataSource
> ---
>
> Key: DBCP-388
> URL: https://issues.apache.org/jira/browse/DBCP-388
> Project: Commons Dbcp
>  Issue Type: Improvement
>Affects Versions: 1.4
> Environment: Linux and Java 1.6
>Reporter: Michael Kerr
>Priority: Minor
>  Labels: features
> Fix For: 2.3
>
>
> BasicDataSource has support for AbandonedConfig
> SharedPoolDataSource does not currently support reclaiming abandoned 
> connections.
> It would be helpful if the user can extend the underlying connection pool to 
> add features like abandoned connection management.  This is possible with 
> BasicDataSource.
> Currently the only solution is to extend classes or replace classes in the 
> Apache package namespace.
> Thanks for looking,
> Michael



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DBCP-436) Avoid executing ROLLBACK when transaction is not active

2016-07-28 Thread Matt Sicker (JIRA)

 [ 
https://issues.apache.org/jira/browse/DBCP-436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Sicker updated DBCP-436:
-
Fix Version/s: (was: 2.2)

> Avoid executing ROLLBACK when transaction is not active
> ---
>
> Key: DBCP-436
> URL: https://issues.apache.org/jira/browse/DBCP-436
> Project: Commons Dbcp
>  Issue Type: Improvement
>Reporter: Michael Mikhulya
>  Labels: performance
>
> {{rollbackOnReturn}} terminates the transaction by calling {{rollback}} on 
> the connection as it is returned to the pool.
> It hurts performance.
> I suggest to don't call {{rollback}} if transaction is not active.
> Such improvement is done in HikariCP:
> https://github.com/brettwooldridge/HikariCP/issues/177



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DBCP-446) NullPointerException thrown when calling ManagedConnection.isClosed()

2016-07-26 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/DBCP-446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15394320#comment-15394320
 ] 

Matt Sicker commented on DBCP-446:
--

I'll be working on starting the release this week, so if the release candidate 
goes well, it should be released by next week.

> NullPointerException thrown when calling ManagedConnection.isClosed()
> -
>
> Key: DBCP-446
> URL: https://issues.apache.org/jira/browse/DBCP-446
> Project: Commons Dbcp
>  Issue Type: Bug
>Affects Versions: 1.4, 2.1.1
>Reporter: feng yang
>Priority: Critical
> Fix For: 2.2
>
>
> Hello all,
> I'm using commons-dbcp 1.4, and I found this exception. I don't if it's 
> reported already before, I have done some searches in google, but nothing 
> found. 
> Here is the call stack.
> 2015-08-18 15:01:50,091 [Thread-49] console : ERROR -   ... 44 more
> 2015-08-18 16:04:57,963 [Thread-45] console : ERROR - 
> java.lang.NullPointerException
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.apache.commons.dbcp.DelegatingConnection.isClosed(DelegatingConnection.java:386)
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.releaseConnection(LogicalConnectionImpl.java:237)
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.aggressiveRelease(LogicalConnectionImpl.java:200)
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:272)
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterTransaction(TransactionCoordinatorImpl.java:144)
> 2015-08-18 16:04:57,965 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.transaction.internal.jta.JtaTransaction.afterAfterCompletion(JtaTransaction.java:179)
> 2015-08-18 16:04:57,966 [Thread-45] console : ERROR -   at 
> org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:219)
> So when I debugged it, it created a ManagedConnection, which is a sub-class 
> of DelegatingConnection, and the _conn is initialized with null, and the 
> _closed is false by default. So when hibernate calls the isClosed(), it 
> throws a nullpointer exception.
> Could you guys tell me if in your side, or the hibernate side ?
> Do not hesitate to contact me if you need more information.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (POOL-266) Common Pool does not use log api

2014-08-18 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/POOL-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14101759#comment-14101759
 ] 

Matt Sicker commented on POOL-266:
--

You can avoid introducing more APIs by using the JDK loggers. Alternatively, 
using the setLogWriter methods in JDBC, Log4j 2.1 will have 
PrintWriter/PrintStream/etc. loggers which can be set by the user.

> Common Pool does not use log api
> 
>
> Key: POOL-266
> URL: https://issues.apache.org/jira/browse/POOL-266
> Project: Commons Pool
>  Issue Type: Improvement
>Affects Versions: 2.2
>Reporter: Anthony Communier
>
> Common pool does not use log api (logback,slf4j, log4j, log4j2, commons 
> logging,...). Errors are printed directly with System.out or System.err. So 
> it's difficult to have information in the same log file as other application 
> log file.
> Is there any reason to not use log api ?
> If you are interested I can do a patch with the usage of logback API.



--
This message was sent by Atlassian JIRA
(v6.2#6252)