[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-04-14 Thread Michael Semb Wever (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17083537#comment-17083537
 ] 

Michael Semb Wever commented on CASSANDRA-15659:


[~yukim], we didn't exactly honour your request of keeping this ticket as an 
epic here, and only working with sub-tasks. Do you have any other tickets in 
mind? We can at least keep linking them back to this, at least during the 4.0 
stabilisation phase.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Assignee: Eduard Tudenhoefner
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.0-alpha
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> h2. From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]
> h2. Summary of work that was done:
> I relaxed the requirement of *cqlsh* only working with Python 2.7 & 3.6 by 
> allowing Python 3.6+.
>  Note that I left the constraint for Python 3.6 being the minimum Python3 
> version. 
>  As [~ptbannister] pointed out, we could remove the Python 3.6 min version 
> once we remove Python 2.7 support, as otherwise testing with lots of 
> different Python versions will get costly.
> 2 Dockerfiles were added in *pylib* for minimal local testing of *cqlsh* 
> starting up with Python 3.7 & 3.8 and that both revealed
>  CASSANDRA-15572 and CASSANDRA-15573. 
>  CASSANDRA-15572 was fixed here as it was a one-liner. And I'm going to 
> tackle CASSANDRA-15573 later.
> Python 3.8 testing was added to the CircleCI config so that we can actually 
> see what else breaks with newer Python versions.
> A new Docker images with Ubuntu 19.10 was required for testing 
> ([https://github.com/apache/cassandra-builds/pull/17]). This docker image 
> sets up Python 2.7/3.6/3.7/3.8 with their respective virtual environments, 
> which are then being used by the CircleCI yaml.
> The image *spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306* 
> couldn't be updated unfortunately because it can't be built anymore, due to 
> Ubuntu 18.10 being EOL.



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-04-07 Thread Michael Semb Wever (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17077243#comment-17077243
 ] 

Michael Semb Wever commented on CASSANDRA-15659:


ASF Jenkins CI 
[results|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/27/pipeline]

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Assignee: Eduard Tudenhoefner
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.0-alpha
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> h2. From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]
> h2. Summary of work that was done:
> I relaxed the requirement of *cqlsh* only working with Python 2.7 & 3.6 by 
> allowing Python 3.6+.
>  Note that I left the constraint for Python 3.6 being the minimum Python3 
> version. 
>  As [~ptbannister] pointed out, we could remove the Python 3.6 min version 
> once we remove Python 2.7 support, as otherwise testing with lots of 
> different Python versions will get costly.
> 2 Dockerfiles were added in *pylib* for minimal local testing of *cqlsh* 
> starting up with Python 3.7 & 3.8 and that both revealed
>  CASSANDRA-15572 and CASSANDRA-15573. 
>  CASSANDRA-15572 was fixed here as it was a one-liner. And I'm going to 
> tackle CASSANDRA-15573 later.
> Python 3.8 testing was added to the CircleCI config so that we can actually 
> see what else breaks with newer Python versions.
> A new Docker images with Ubuntu 19.10 was required for testing 
> ([https://github.com/apache/cassandra-builds/pull/17]). This docker image 
> sets up Python 2.7/3.6/3.7/3.8 with their respective virtual environments, 
> which are then being used by the CircleCI yaml.
> The image *spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306* 
> couldn't be updated unfortunately because it can't be built anymore, due to 
> Ubuntu 18.10 being EOL.



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-04-02 Thread Stefan Podkowinski (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073621#comment-17073621
 ] 

Stefan Podkowinski commented on CASSANDRA-15659:


Instruction on circle CI docker images can be found here: 
https://github.com/apache/cassandra-builds/tree/master/docker/testing

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Assignee: Eduard Tudenhoefner
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.0-alpha
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-04-02 Thread Eduard Tudenhoefner (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073545#comment-17073545
 ] 

Eduard Tudenhoefner commented on CASSANDRA-15659:
-

I relaxed the requirement of *cqlsh* only working with Python 2.7 & 3.6 by 
allowing Python 3.6+.
Note that I left the constraint for Python 3.6 being the minimum Python3 
version. 
As [~ptbannister] pointed out, we could remove the Python 3.6 min version once 
we remove Python 2.7 support, as otherwise testing with lots of different 
Python versions will get costly.

I also added 2 Dockerfiles in *pylib* for minimal local testing of *cqlsh* 
starting up with Python 3.7 & 3.8 and that both revealed
CASSANDRA-15572 and CASSANDRA-15573. 
I fixed CASSANDRA-15572 in my branch as it was a one-liner. And I'm going to 
tackle CASSANDRA-15573 later.

I also added Python 3.8 testing to the CircleCI config so that we can actually 
see what else breaks with newer Python versions.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Assignee: Eduard Tudenhoefner
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.0-alpha
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-31 Thread Alan Boudreault (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17072118#comment-17072118
 ] 

Alan Boudreault commented on CASSANDRA-15659:
-

Hello,

That makes sense Patrick. I think Python 3.6 is a good choice for the official 
python3 supported version. And it´s correct to only run dtests with this 
version. However, I think also it would be better to relax the requirement for 
the different distributions (removing the strong check). All Python3 versions 
can be supported at *best effort*. So my suggestion:

1. Remove the strong python 3.6 requirement check
2. Do some manual testing to ensure we can at least connect to a cluster and 
execute queries  with all py3 runtimes.
3. Fix obvious issues if there are.
4. (optional) add a simple smoke test in dtest that is run for all runtimes.

I am going to check when I could try to help with the python3 support.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0-alpha
>
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-31 Thread Patrick Bannister (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17071980#comment-17071980
 ] 

Patrick Bannister commented on CASSANDRA-15659:
---

I don't plan to work this ticket, but I'm posting to share some relevant 
context that may be useful.

Testing was the main reason we limited Python 3.x support by minor version. The 
cqlsh dtests are costly in terms of time and compute resources. Unfortunately, 
most of the substantive testing of cqlsh is in the dtests.

In the past, the thinking was to expand the Python 3.x minor versions supported 
by cqlsh after dropping Python 2 support. The idea was to limit the number of 
test environments needed to properly test cqlsh.

[SaferScanner|https://github.com/apache/cassandra/blob/trunk/pylib/cqlshlib/saferscanner.py]
 is another problem. It depends on implementation details of the Python re 
module, and it's sensitive to the Python minor version. We had to rewrite it 
twice in the past two years.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0-alpha
>
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-27 Thread Ekaterina Dimitrova (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17068799#comment-17068799
 ] 

Ekaterina Dimitrova commented on CASSANDRA-15659:
-

Hi [~yukim] and [~stefan.miklosovic].
I will link this one to CASSANDRA-15586 as it is definitely one of the issues 
which should be tested and found there.
If you have also other related findings, please, feel free to link them too. 
Thank you both!


> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0-alpha
>
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-27 Thread Stefan Miklosovic (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17068506#comment-17068506
 ] 

Stefan Miklosovic commented on CASSANDRA-15659:
---

[~yukim] That sounds good! Thanks a lot.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0-alpha
>
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-27 Thread Yuki Morishita (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17068341#comment-17068341
 ] 

Yuki Morishita commented on CASSANDRA-15659:


Hi, I filed a few python 3 related tickets, and I'd like to work to improve 
supports for more recent version of python 3.

My suggestion is to make this ticket as an umbrella for all the improvements we 
will make for better support of python 3.

I will link to the tickets as a starter.

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0-alpha
>
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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



[jira] [Commented] (CASSANDRA-15659) Better support of Python 3 for cqlsh

2020-03-24 Thread Stefan Miklosovic (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-15659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17066125#comment-17066125
 ] 

Stefan Miklosovic commented on CASSANDRA-15659:
---

[~ptbannister] maybe something for you to look at? Thank you very much!

> Better support of Python 3 for cqlsh
> 
>
> Key: CASSANDRA-15659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15659
> Project: Cassandra
>  Issue Type: Task
>  Components: Tool/cqlsh
>Reporter: Stefan Miklosovic
>Priority: Normal
>
> From mailing list:
> [https://lists.apache.org/thread.html/r377099b632c62b641e4feef5b738084fc5369b0c7157fae867853597%40%3Cdev.cassandra.apache.org%3E]
>  
> As of today (24/3/2020) and current trunk, there is Python 3.6 supported (1) 
> but there is not any 3.6 version ootb in Debian for example. E.g. Buster has 
> Python 3.7 and other (recent) releases have version 2.7. This means that if 
> one wants to use Python 3 in Debian, he has to use 3.6 but it is not in the 
> repository so he has to download / compile / install it on his own.
> There should be some sane Python 3 version supported which is as well present 
> in Debian repository (or requirement to run with 3.6 should be relaxed) .
> (1) 
> [https://github.com/apache/cassandra/blob/bf9a1d487b9ba469e8d740cf7d1cd419535a7e79/bin/cqlsh#L57-L65]



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

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