You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2020/11/25 10:49:43 UTC

Re: [] [] Apache Jena 3.17.0 RC 1


On 25/11/2020 00:03, Andy Seaborne wrote:
> 
> 
> On 24/11/2020 20:13, Bruno P. Kinoshita wrote:
>>   I had a look at one of the failures:
>>
>>
>> Error Message
>> NTFS ADS separator (':') in file name is forbidden.
>> Stacktrace
>> java.lang.IllegalArgumentException: NTFS ADS separator (':') in file 
>> name is forbidden.
>>     at 
>> org.apache.jena.riot.TestRDFParser.source_streamManager(TestRDFParser.java:169) 
>>
>>
>> That looks like a legit error. `:` is not allowed in Windows 
>> file/folder names.

It's this:

https://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_(ADS)

which is a trailing use of ":"

and that clashes with file:data.ttl because extension handling in 
Commons IO check that the extension comes from the file name.

It copes by getting the extension in:

"data.ttl:something"

but throws IllegalArgumentException on because the extension is in the 
ADS name:

"data:something.ttl"

PR:

https://github.com/apache/jena/pull/871

which is done to be lowest risk (code copying and restoring the 
behaviour for URI paths).

     Andy

>> Not sure if that's coming from a newer JVM version... I thought even 
>> older JVMs would fail for that.
>> For the test of the error above, I think we could just rename `file:` 
>> to `file-` or some other prefix - 
>> https://github.com/apache/jena/blob/967d2609cf3f23ea5252d8e94d7ffb76bd6c382a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java#L169 
>>
> 
> Thanks for looking and confirming this.  It been quite slow going round 
> the loop to a Windows build. Still don't see why the stacktrace is what 
> it is but when I put in printStackTrace I got a long trace. (JUnit 
> abbreviated printing?)
> 
> It's the update of Commons IO to v 2.8.0. (The change is in 2.7.x).
> FilenameUtils.indexOfExtension added the check.
> 
> Jena works in URIs ... including "file:" but the same code can be hit 
> for other URI schemes. It was relying on that for handling URI paths 
> with URI scheme and that's not a Windows filename.
> 
> (Java11 that is much more picky about file system details as well but 
> not the actual problem here)
> 
> 
> The calling Jena code is IO.filenameNoCompression from 
> RDFLanguages.guessContentType->IO.filenameToLang
> 
> To be robust against uses elsewhere, we can adopt the Commons IO code 
> removing the check, at least for now (what commons-io 2.6 was doing) 
> Probably still better (more robust to corner cases) than the original 
> Jena code from a while back.
> 
> Some filenames are appearing in the Jenkins build on Windows as 
> "/F:/foobar" , not just "F:/", so there may be other cases lurking nearby.
> 
>      Andy
> 
>>
>> Bruno
>>
>>
>>
>>
>>      On Tuesday, 24 November 2020, 5:32:24 pm UTC, Andy Seaborne 
>> <an...@apache.org> wrote:
>>   There are test failures on Windows.
>>
>> I don't have a windows development machine available so this may take
>> some time and build noise.
>>
>> It is code that has not changed for a while and none of the commits of
>> the first time it happen seem to have any relation to this part of the
>> code but IIRC there have java JDK changes tightening up filename
>> handling. The build runs "jdk latest".
>>
>> The stacktrace does not make sense through - it's cutoff in the middle
>> Jena code, not near some JVM runtime.
>>
>>      Andy
>>
>> https://ci-builds.apache.org/job/Jena/job/Jena_Development_Windows/53/
>>
>> On 24/11/2020 10:56, Andy Seaborne wrote:
>>> Hi,
>>>
>>> Here is a vote on the release of Apache Jena 3.17.0
>>> This is the first proposed release candidate.
>>>
>>> The deadline is Friday, 27 November at 12:00 UTC.
>>>
>>> Please vote to approve this release:
>>>
>>>            [ ] +1 Approve the release
>>>            [ ]  0 Don't care
>>>            [ ] -1 Don't release, because ...
>>>
>>> ==== Major items in this release
>>>
>>> JENA-1949: Dockerfile
>>> and build instructions
>>> https://jena.apache.org/documentation/fuseki2/fuseki-docker.html
>>>
>>> JENA-1937: SHACL Compact Syntax writer
>>>
>>> JENA-1982: SPARQL \U escapes in String and IRIs.
>>> This is a change to ARQ extended SPARQL syntax.
>>>
>>> JENA-1950: Use GraalVM for javascript if available.
>>> The license means we do not ship GraalVM itself (and it is quite big).
>>>
>>> JENA-1968:
>>> Support Turtle output with relative URIs but no BASE declaration.
>>>
>>> JENA-1974: G library
>>> A library for working with Graphs
>>> More :
>>> https://lists.apache.org/thread.html/r973fd076583327b75e15bda798dce66d47f4f7cd8dbaa14c280f1fe3%40%3Cdev.jena.apache.org%3E 
>>>
>>>
>>>
>>> ==== Dependency changes:
>>>
>>> ## Updates:
>>>
>>> JENA-1959, JENA-1967: JSON-LD 0.12.5 -> 0.13.2 (umbreak)
>>> JENA-1972: Jetty 9.4.26 -> 9.4.31
>>> JENA-1973: Micrometer: 1.2.1 -> 1.5.5
>>> JENA-1992: Update Log4j2 to 2.14.0
>>> JENA-1993: Update Eclipse Jetty to 9.4.34
>>>
>>> HttpClient to 4.5.13
>>> commons-lang3 from 3.10 to 3.11
>>> guava 29-jre to 30-jre
>>> spatial4j from 0.6 to 0.7
>>> airline.version from 2.1.1 to 2.8.0 (#839)
>>> jts-core from 1.16.1 to 1.17.1 (#844)
>>> ver.shiro from 1.5.1 to 1.7.0 (#840)
>>> jackson-core from 2.10.1 to 2.11.3 (#847)
>>> commons-codec 1.14 to 1.15
>>> commons-io from 2.6 to 2.8.0
>>> micrometer from 1.5.5 to 1.6.1
>>> lucene 7.7.2 to 7.7,3
>>> ElasticSearch from 6.8.6 to 6.8.9
>>>
>>> ==== Changes for 3.17.0:
>>>
>>> https://s.apache.org/jena-3.17.0-jira
>>>
>>> ==== Release Vote
>>>
>>> Everyone, not just committers, is invited to test and vote.
>>> Please download and test the proposed release.
>>>
>>> Staging repository:
>>>      
>>> https://repository.apache.org/content/repositories/orgapachejena-1040
>>>
>>> Proposed dist/ area:
>>>      https://dist.apache.org/repos/dist/dev/jena/
>>>
>>> Keys:
>>>      https://svn.apache.org/repos/asf/jena/dist/KEYS
>>>
>>> Git commit (browser URL):
>>>      https://github.com/apache/jena/commit/482d2f0009
>>>
>>> Git Commit Hash:
>>>      482d2f0009e2ab05be82faf371a7a6233bbaafd0
>>>
>>> Git Commit Tag:
>>>      jena-3.17.0
>>>
>>> This vote will be open until at least
>>>
>>>        Friday, 27 November at 12:00 UTC
>>>
>>> If you expect to check the release but the time limit does not work
>>> for you, please email within the schedule above with an expected time
>>> and we can extend the vote period.
>>>
>>> Thanks,
>>>
>>>          Andy
>>>
>>> Checking needed:
>>>
>>> + are the GPG signatures fine?
>>> + are the checksums correct?
>>> + is there a source archive?
>>>
>>> + can the source archive really be built?
>>>              (NB This requires a "mvn install" first time)
>>> + is there a correct LICENSE and NOTICE file in each artifact
>>>              (both source and binary artifacts)?
>>> + does the NOTICE file contain all necessary attributions?
>>> + have any licenses of dependencies changed due to upgrades?
>>>               if so have LICENSE and NOTICE been upgraded appropriately?
>>> + does the tag/commit in the SCM contain reproducible sources?
>>