[GitHub] couchdb pull request #460: Change snap packaging to build from source

2017-03-20 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb/pull/460#discussion_r106922187
  
--- Diff: snapcraft.yaml ---
@@ -0,0 +1,81 @@
+name: couchdb
+version: 2.0
+summary: Document based database
+description: CouchDB is a database that completely embraces the web. Store 
your data with JSON documents. Access your documents and query your indexes 
with your web browser, via HTTP. Index, combine, and transform your documents 
with JavaScript. 
+confinement: strict
+grade: stable
+
+apps:
+server:
+daemon: simple
+command: rel/couchdb/bin/snap_run
+plugs: [network-bind, process-control, mount-observe]
+couchdb:
+command: rel/couchdb/bin/snap_run
+plugs: [network-bind]
+parts:
+couchdb: 
+plugin: make
+source: .
+prepare: |
+  ./configure --disable-docs
+build: |
+  make release
+  cp -ra ./rel $SNAPCRAFT_PART_INSTALL
+  cp -ra ./bin $SNAPCRAFT_PART_INSTALL
+build-packages:
+  - binutils
+  - libc6-dev
+  - gcc
+  - g++
+  - make
+  - erlang-dev
+  - erlang-base-hipe
+  - erlang-reltool
+  - libcurl4-openssl-dev
+  - libmozjs185-dev
+  - libnspr4-dev
+  - libicu-dev
+  - icu-devtools
+  # For erlang/rebar processing
+  - erlang-nox
+  - erlang-os-mon
+  - erlang-syntax-tools
+  # For fauxton
+  - nodejs-dev
+  - nodejs-legacy
--- End diff --

Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb pull request #460: Change snap packaging to build from source

2017-03-20 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb/pull/460#discussion_r106920400
  
--- Diff: snapcraft.yaml ---
@@ -0,0 +1,81 @@
+name: couchdb
+version: 2.0
+summary: Document based database
+description: CouchDB is a database that completely embraces the web. Store 
your data with JSON documents. Access your documents and query your indexes 
with your web browser, via HTTP. Index, combine, and transform your documents 
with JavaScript. 
+confinement: strict
+grade: stable
+
+apps:
+server:
+daemon: simple
+command: rel/couchdb/bin/snap_run
+plugs: [network-bind, process-control, mount-observe]
+couchdb:
+command: rel/couchdb/bin/snap_run
+plugs: [network-bind]
+parts:
+couchdb: 
+plugin: make
+source: .
+prepare: |
+  ./configure --disable-docs
+build: |
+  make release
+  cp -ra ./rel $SNAPCRAFT_PART_INSTALL
+  cp -ra ./bin $SNAPCRAFT_PART_INSTALL
+build-packages:
+  - binutils
+  - libc6-dev
+  - gcc
+  - g++
+  - make
+  - erlang-dev
+  - erlang-base-hipe
+  - erlang-reltool
+  - libcurl4-openssl-dev
+  - libmozjs185-dev
+  - libnspr4-dev
+  - libicu-dev
+  - icu-devtools
+  # For erlang/rebar processing
+  - erlang-nox
+  - erlang-os-mon
+  - erlang-syntax-tools
+  # For fauxton
+  - nodejs-dev
+  - nodejs-legacy
--- End diff --

Wonder why two nodejs here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb issue #328: Validate host header

2017-03-19 Thread kxepal
Github user kxepal commented on the issue:

https://github.com/apache/couchdb/pull/328
  
Let it flow here for a liitle while. Will close it very soon.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb issue #328: Validate host header

2017-03-19 Thread kxepal
Github user kxepal commented on the issue:

https://github.com/apache/couchdb/pull/328
  
@wohali Yes I do and yes this feature is already in 2.0. See referenced 
commits in commit message (;


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb issue #284: Backport Accept check from chttpd

2017-03-19 Thread kxepal
Github user kxepal commented on the issue:

https://github.com/apache/couchdb/pull/284
  
@wohali Sure. Bookmarked.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb issue #453: update Fauxton and Docs git repo urls

2017-03-09 Thread kxepal
Github user kxepal commented on the issue:

https://github.com/apache/couchdb/pull/453
  
I'm with @wohali.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request #656: Add pull request template

2017-03-09 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fauxton/pull/656#discussion_r105119372
  
--- Diff: .github/PULL_REQUEST_TEMPLATE.md ---
@@ -0,0 +1,37 @@
+
+
+## Overview
+
+
+
+## Testing recommendations
+
+
+
+## Screenshot
+
+
+
+## JIRA issue number
--- End diff --

Cool!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request #656: Add pull request template

2017-03-09 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fauxton/pull/656#discussion_r105106053
  
--- Diff: .github/PULL_REQUEST_TEMPLATE.md ---
@@ -0,0 +1,37 @@
+
+
+## Overview
+
+
+
+## Testing recommendations
+
+
+
+## Screenshot
+
+
+
+## JIRA issue number
--- End diff --

Is that legal now? And I don't see issues tab around.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-log-lager pull request: Get lager event handlers fro...

2016-03-19 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-couch-log-lager/pull/2#issuecomment-197727400
  
One moment: commit message should be wrapped by 79/80 characters per line. 

And then +1 (: Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-log-lager pull request: Get lager event handlers fro...

2016-03-19 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-couch-log-lager/pull/2#issuecomment-197785419
  
Thank you!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request:

2016-02-27 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-ci/commit/045028834477dce9c4e26d6909896f0c64ef4d44#commitcomment-16371266
  
In utils/analyze-jenkins-logs/ci-errors.markdown:
In utils/analyze-jenkins-logs/ci-errors.markdown on line 1:
Ok then (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request:

2016-02-27 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-ci/commit/045028834477dce9c4e26d6909896f0c64ef4d44#commitcomment-16371260
  
In utils/analyze-jenkins-logs/index.js:
In utils/analyze-jenkins-logs/index.js on line 1:
License header required.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request:

2016-02-27 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-ci/commit/045028834477dce9c4e26d6909896f0c64ef4d44#commitcomment-16371258
  
In utils/auto-download-jenkins-logs/index.js:
In utils/auto-download-jenkins-logs/index.js on line 1:
License header required.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request:

2016-02-27 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-ci/commit/045028834477dce9c4e26d6909896f0c64ef4d44#commitcomment-16371246
  
In utils/analyze-jenkins-logs/ci-errors.markdown:
In utils/analyze-jenkins-logs/ci-errors.markdown on line 1:
Does this file committed by an accident?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request:

2016-02-27 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-ci/commit/045028834477dce9c4e26d6909896f0c64ef4d44#commitcomment-16371247
  
In utils/analyze-jenkins-logs/bin/run.sh:
In utils/analyze-jenkins-logs/bin/run.sh on line 1:
Does this file committed by an accident?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: [wip] Docker container Ubuntu 14.04/Erlan...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48253451
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
+# - erlang-dialyzer
+# - erlang-eunit
--- End diff --

Actually, `make && make distcheck` (oops, I just realized that we don't 
have `distcheck`, so `make all check dist`) - that we build and right, all 
tests passed and we're able to produce ready-to-ship tarball.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48252688
  
--- Diff: ansible/roles/ubuntu-worker/tasks/rebar.yml ---
@@ -0,0 +1,37 @@
+- name: create rebar group
+  group:
+name: rebar
+state: present
+
+- name: create rebar user
+  user:
+name: rebar
+createhome: yes
+group: rebar
+state: present
+
+- name: download rebar
+  get_url:
+url: https://github.com/rebar/rebar/archive/{{ rebar_version }}.tar.gz
--- End diff --

That is need of old past days. Not saying that this is wrong and wont work, 
but if you can make things simpler - why not?(:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48252154
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
+# - erlang-dialyzer
+# - erlang-eunit
--- End diff --

Just `make` build the sources - it hardly can trigger tests run. `make 
check` runs all the tests. `make eunit` runs only eunit tests. `make 
javascript` - only javascript integration test suite. And so on.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251847
  
--- Diff: readme.markdown ---
@@ -3,44 +3,80 @@ CouchDB CI Setup
 
 Mission statement: Create a new continuous integration infrastructure for 
the CouchDB project.
 
-For the background and goals, see this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list.
+For the background and goals, see
 
-This is the repository for the automated creation of the CouchDB CI 
infrastructure. Well, at least it will be when it has grown up. This might take 
a while, though. Right now, it's just a bunch of Ansible scripts, a Vagrantfile 
and a Veewee definition.
+* this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list and
+* this [ASF Infra 
ticket](https://issues.apache.org/jira/browse/INFRA-10126).
 
-See the readme files in folder `baseboxes` (for docs on building the base 
boxes) and the section about Vagrant below (for docs on how to spin up the 
setup locally).
+*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
 
-Fair warning: This is very much work in progress.
+The main purpose of this repository is to provide a number of Docker 
containers that the ASF infrastructure team can use in their Jenkins setups and 
which are capable of building CouchDB. The idea is to provide containers for a 
number of different operating systems and Erlang versions to make sure CouchDB 
builds and runs on all supported setups.
 
-Current state:
+The current (rough) plan for the build matrix is this:
 
-- [x] install bare Jenkins master with Ansible
-- [x] install and configure nginx
-- [x] create CouchDB build job in Jenkins via Ansible
-- [x] switch to master-worker Jenkins setup
-- [x] use ntp server for master and workers
-- [ ] Use SCM sync plug-in to manage job configs
-* 
http://stackoverflow.com/questions/27138043/jenkins-scm-sync-configuration-plugin-in-docker-wont-talk-to-github
-* 
https://cburgmer.wordpress.com/2013/01/02/tracking-configuration-changes-in-jenkins/
-- [ ] enable auth for Jenkins
-- [ ] actually fetch CouchDB from VCS
-- [ ] all apt-get commands should pin a specific version, in the base box 
definition as well as in Ansible. How?
-- [ ] create an additional Ubuntu worker with an older Erlang version
-- [ ] create another base box (different linux distro) for a third worker
-- [ ] talk to Infra people
+**OS/Erlang**   | **R14B04** | **R16B03-1** | **17.5** | **18.x**
+||--|--|-
+**Ubuntu 14.04**| ?  | -| -| WIP
+**Ubuntu latest ?** | ?  | -| -| -
+**Debian 7**| ?  | -| -| -
+**Debian 8**| ?  | -| -| -
+**OS X latest** | ?  | -| -| -
+**Free BSD**| ?  | -| -| -
+**Windows** | ?  | -| -| -
 
-*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
+### Open questions
+
+* AFAIK Erlang 14 support will be dropped soon-ish, so I'm not sure if it 
is worth the effort to do anything for that.
+* Which 18.x Erlang version is to be used? I heard someone saying 18.0 
once, but that was before 18.1 and 18.2 were available, so I guess it makes 
more sense to always use the latest 18.x to see if changes in Erlang 18 breaks 
CouchDB.
--- End diff --

Imho, need to ensure that we run correctly with the latest and system 
default if it matches the requirement.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251780
  
--- Diff: readme.markdown ---
@@ -3,44 +3,80 @@ CouchDB CI Setup
 
 Mission statement: Create a new continuous integration infrastructure for 
the CouchDB project.
 
-For the background and goals, see this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list.
+For the background and goals, see
 
-This is the repository for the automated creation of the CouchDB CI 
infrastructure. Well, at least it will be when it has grown up. This might take 
a while, though. Right now, it's just a bunch of Ansible scripts, a Vagrantfile 
and a Veewee definition.
+* this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list and
+* this [ASF Infra 
ticket](https://issues.apache.org/jira/browse/INFRA-10126).
 
-See the readme files in folder `baseboxes` (for docs on building the base 
boxes) and the section about Vagrant below (for docs on how to spin up the 
setup locally).
+*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
 
-Fair warning: This is very much work in progress.
+The main purpose of this repository is to provide a number of Docker 
containers that the ASF infrastructure team can use in their Jenkins setups and 
which are capable of building CouchDB. The idea is to provide containers for a 
number of different operating systems and Erlang versions to make sure CouchDB 
builds and runs on all supported setups.
 
-Current state:
+The current (rough) plan for the build matrix is this:
 
-- [x] install bare Jenkins master with Ansible
-- [x] install and configure nginx
-- [x] create CouchDB build job in Jenkins via Ansible
-- [x] switch to master-worker Jenkins setup
-- [x] use ntp server for master and workers
-- [ ] Use SCM sync plug-in to manage job configs
-* 
http://stackoverflow.com/questions/27138043/jenkins-scm-sync-configuration-plugin-in-docker-wont-talk-to-github
-* 
https://cburgmer.wordpress.com/2013/01/02/tracking-configuration-changes-in-jenkins/
-- [ ] enable auth for Jenkins
-- [ ] actually fetch CouchDB from VCS
-- [ ] all apt-get commands should pin a specific version, in the base box 
definition as well as in Ansible. How?
-- [ ] create an additional Ubuntu worker with an older Erlang version
-- [ ] create another base box (different linux distro) for a third worker
-- [ ] talk to Infra people
+**OS/Erlang**   | **R14B04** | **R16B03-1** | **17.5** | **18.x**
+||--|--|-
+**Ubuntu 14.04**| ?  | -| -| WIP
+**Ubuntu latest ?** | ?  | -| -| -
+**Debian 7**| ?  | -| -| -
+**Debian 8**| ?  | -| -| -
+**OS X latest** | ?  | -| -| -
+**Free BSD**| ?  | -| -| -
+**Windows** | ?  | -| -| -
 
-*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
+### Open questions
+
+* AFAIK Erlang 14 support will be dropped soon-ish, so I'm not sure if it 
is worth the effort to do anything for that.
--- End diff --

Erlang R14 support is already dropped with no return. So R16B03-1+.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251720
  
--- Diff: ansible/roles/ubuntu-worker/tasks/rebar.yml ---
@@ -0,0 +1,37 @@
+- name: create rebar group
+  group:
+name: rebar
+state: present
+
+- name: create rebar user
+  user:
+name: rebar
+createhome: yes
+group: rebar
+state: present
+
+- name: download rebar
+  get_url:
+url: https://github.com/rebar/rebar/archive/{{ rebar_version }}.tar.gz
--- End diff --

No need in rebar: ./configure script [takes 
care](https://github.com/apache/couchdb/blob/master/configure#L652-L667) about 
it. While you stay with `make *` commands, it will be used and right version.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251635
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
+# - erlang-dialyzer
+# - erlang-eunit
+# - erlang-manpages
+# - libnspr4
+# - libnspr4-0d
+# - libnspr4-dev
+# - openssl
--- End diff --

IIRC, openssl requires for Erlang SSL correct work.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251592
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
+# - erlang-dialyzer
+# - erlang-eunit
--- End diff --

This requires for tests suite run.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251579
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
+# - erlang-dialyzer
--- End diff --

Dialyzer is need for more complex code inspect which cost significant 
amount of memory and CPU resources. Would be nice to run it on CI, but it will 
require some special policy. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-ci pull request: Docker container Ubuntu 14.04/Erlang 18.2...

2015-12-22 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-ci/pull/1#discussion_r48251560
  
--- Diff: ansible/roles/ubuntu-worker/tasks/dependencies.yml ---
@@ -0,0 +1,59 @@
+- name: import the Erlang Solutions key into apt
+  apt_key:
+url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
+state: present
+# validate_certs: no
+
+- name: add Erlang Solutions deb repository
+  apt_repository:
+repo: 'deb http://packages.erlang-solutions.com/ubuntu trusty contrib'
+state: present
+
+# apt-get update
+- name: update apt cache
+  apt:
+update_cache: yes
+
+- name: install auxiliary packages
+  apt: name={{item}} state=present
+  with_items:
+  - apt-transport-https
+  - curl
+  - git
+  - pkg-config
+  - python
+
+# required for make couch
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - build-essential
+  - ca-certificates
+  - erlang-dev=1:18.2
+  - erlang-nox=1:18.2
+  - erlang=1:18.2
+  - libcurl4-openssl-dev
+  - libicu-dev
+  - libmozjs185-dev
+
+# required for make docs
+- name: install packages required to build CouchDB
+  apt: name={{item}} state=present install_recommends=no
+  with_items:
+  - help2man
+  - python-sphinx
+  - texlive-latex-base
+  - texlive-latex-recommended
+  - texlive-latex-extra
+  - texlive-fonts-recommended
+  - texinfo
+
+# More packages found in klaemo's Dockerfile... not sure if required, 
apparently not?
+# - erlang-base-hipe
--- End diff --

We can live without hipe, for sure.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-log-lager pull request: Reset error_logger_tty handl...

2015-10-08 Thread kxepal
GitHub user kxepal opened a pull request:

https://github.com/apache/couchdb-couch-log-lager/pull/1

Reset error_logger_tty handler only if it was already specified



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/kxepal/couchdb-couch-log-lager reset-tty

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/couchdb-couch-log-lager/pull/1.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1


commit b2a0471a87765de50c5eb05c65c121f68a9ae9fa
Author: Alexander Shorin 
Date:   2015-10-08T09:24:47Z

Reset error_logger_tty handler only if it was already specified




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: Add couch_epi:is_configured

2015-07-29 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch-epi/pull/2#issuecomment-125988283
  
agree (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: Restore R14 compatibility

2015-07-22 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch-epi/pull/5#issuecomment-123643874
  
+1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: Fix function_clause in childspec

2015-07-13 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch-epi/pull/3#issuecomment-120914152
  
Btw, may be also update start_link signature?
```
start_link(ProviderApp, {epi_key, ServiceId}, {modules, Modules}, Options) 
```

to 
```
start_link(ProviderApp, {epi_key, Key}, {modules, Modules}, Options) 
```

to avoid any confusions about what is ServiceId and what is Key.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: Fix function_clause in childspec

2015-07-13 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch-epi/pull/3#issuecomment-120911056
  
+1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: Add couch_epi:is_configured

2015-07-12 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch-epi/pull/2#discussion_r34421707
  
--- Diff: src/couch_epi_functions_gen.erl ---
@@ -309,6 +309,11 @@ remove_from_definitions(Defs, Source) ->
 {[], Defs}
 end.
 
+-spec modules(Handle :: atom(), Function :: atom(), Arity :: 
pos_integer()) ->
+boolean().
--- End diff --

Return type is not boolean() here - it's a list which returned by 
[`couch_epi_codegen:scan/1`](https://github.com/apache/couchdb-couch-epi/blob/master/src/couch_epi_codegen.erl#L36)
 which is called by 
[`providers/4`](https://github.com/iilyak/couchdb-couch-epi/blob/add-is_configured/src/couch_epi_functions_gen.erl#L295-L302)
 (and /2,3 as well).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: First version

2015-06-24 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch-epi/pull/1#issuecomment-115025272
  
Great work!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: First version

2015-06-24 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch-epi/pull/1#discussion_r33202291
  
--- Diff: test/couch_epi_tests.erl ---
@@ -0,0 +1,491 @@
+-module(couch_epi_tests).
+
+-include_lib("couch/include/couch_eunit.hrl").
+
+-define(DATA_FILE1, ?ABS_PATH("test/fixtures/app_data1.cfg")).
+-define(DATA_FILE2, ?ABS_PATH("test/fixtures/app_data2.cfg")).
+
+-export([notify_cb/5, save/3]).
+
+-record(ctx, {file, handle, pid, kv, key}).
+
+-define(TIMEOUT, 5000).
+
+-define(MODULE1(Name), "
+-export([inc/2, fail/2]).
+
+inc(KV, A) ->
+Reply = A + 1,
+couch_epi_tests:save(KV, inc1, Reply),
+[KV, Reply].
+
+fail(KV, A) ->
+inc(KV, A).
+").
+
+-define(MODULE2(Name), "
+-export([inc/2, fail/2]).
+
+inc(KV, A) ->
+Reply = A + 1,
+couch_epi_tests:save(KV, inc2, Reply),
+[KV, Reply].
+
+fail(KV, _A) ->
+couch_epi_tests:save(KV, inc2, check_error),
+throw(check_error).
+").
+
+-define(DATA_MODULE1(Name), "
+-export([data/0]).
+
+data() ->
+[
+{[complex, key, 1], [
+{type, counter},
+{desc, foo}
+]}
+].
+").
+
+-define(DATA_MODULE2(Name), "
+-export([data/0]).
+
+data() ->
+[
+{[complex, key, 2], [
+{type, counter},
+{desc, bar}
+]},
+{[complex, key, 1], [
+{type, counter},
+{desc, updated_foo}
+]}
+].
+").
+
+notify_cb(App, Key, OldData, Data, KV) ->
+save(KV, is_called, {App, Key, OldData, Data}).
+
+
+setup(couch_epi_data_source) ->
+error_logger:tty(false),
+
+Key = {test_app, descriptions},
+File = ?tempfile(),
+{ok, _} = file:copy(?DATA_FILE1, File),
+application:start(couch_epi),
+{ok, Pid} = couch_epi_data_source:start_link(
+test_app, {epi_key, Key}, {file, File}, [{interval, 100}]),
+ok = couch_epi_data_source:wait(Pid),
+KV = state_storage(),
+#ctx{
+file = File,
+key = Key,
+handle = couch_epi:get_handle(Key),
+kv = KV,
+pid = Pid};
+setup(couch_epi_data) ->
+error_logger:tty(false),
+
+Key = {test_app, descriptions},
+application:start(couch_epi),
+ok = generate_module(provider, ?DATA_MODULE1(provider)),
+
+{ok, Pid} = couch_epi_data:start_link(
+test_app, {epi_key, Key}, provider, []),
+ok = couch_epi_data:wait(Pid),
+KV = state_storage(),
+#ctx{
+key = Key,
+handle = couch_epi:get_handle(Key),
+kv = KV,
+pid = Pid};
+setup(couch_epi_functions) ->
+Key = my_service,
+error_logger:tty(false),
+
+application:start(couch_epi),
+ok = generate_module(provider1, ?MODULE1(provider1)),
+ok = generate_module(provider2, ?MODULE2(provider2)),
+
+{ok, Pid} = couch_epi_functions:start_link(
+test_app, {epi_key, Key}, {modules, [provider1, provider2]},
+[{interval, 100}]),
+ok = couch_epi_functions:wait(Pid),
+KV = state_storage(),
+#ctx{
+key = Key,
+handle = couch_epi:get_handle(Key),
+kv = KV,
+pid = Pid};
+setup(_Opts) ->
+setup(couch_epi_functions).
+
+teardown(Module, #ctx{pid = Pid} = Ctx) when is_atom(Module) ->
+Module:stop(Pid),
+teardown(Ctx);
+teardown(_Opts, #ctx{pid = Pid} = Ctx) ->
+couch_epi_functions:stop(Pid),
+teardown(Ctx).
+
+teardown(#ctx{file = File} = Ctx) when File /= undefined ->
+file:delete(File),
+teardown(Ctx#ctx{file = undefined});
+teardown(#ctx{kv = KV}) ->
+call(KV, stop),
+application:stop(couch_epi),
+ok.
+
+upgrade_release(Pid, Module) ->
+sys:suspend(Pid),
+'ok' = sys:change_code(Pid, Module, 'undefined', []),
+sys:resume(Pid),
+ok.
+
+epi_config_update_test_() ->
+Funs = [
+fun ensure_notified_when_changed/2,
+fun ensure_not_notified_when_no_change/2,
+fun ensure_not_notified_when_unsubscribed/2
+],
+Modules= [
+couch_epi_data,
+couch_epi_data_source,
+couch_epi_functions
+],
+{
+   

[GitHub] couchdb-couch-epi pull request: First version

2015-06-24 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch-epi/pull/1#discussion_r33202139
  
--- Diff: test/couch_epi_tests.erl ---
@@ -0,0 +1,491 @@
+-module(couch_epi_tests).
--- End diff --

License header is missed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: First version

2015-06-24 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch-epi/pull/1#discussion_r33202104
  
--- Diff: test/couch_epi_data_source_tests.erl ---
@@ -0,0 +1,78 @@
+-module(couch_epi_data_source_tests).
--- End diff --

License header is missed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-epi pull request: First version

2015-06-24 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch-epi/pull/1#discussion_r33202118
  
--- Diff: test/couch_epi_functions_tests.erl ---
@@ -0,0 +1,114 @@
+-module(couch_epi_functions_tests).
--- End diff --

License header is missed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-10 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-config/pull/3#issuecomment-110699091
  
@rnewson I'm +1 for abandon since 1.x worked fine with for all the cases, 
but don't see any reasons for introducing BC as it never was a case.

Or figure why strings comes in so different format. Personally, I don't 
have any ideas here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-09 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-config/pull/3#discussion_r32050277
  
--- Diff: src/config.erl ---
@@ -177,9 +182,19 @@ delete(Section, Key, Reason) ->
 
 delete(Sec, Key, Persist, Reason) when is_binary(Sec) and is_binary(Key) ->
 delete(binary_to_list(Sec), binary_to_list(Key), Persist, Reason);
-delete(Section, Key, Persist, Reason) when is_list(Section), is_list(Key) 
->
+delete(Section, Key, Persist, Reason) when is_boolean(Persist) ->
+assert_string(Section),
+assert_string(Key),
+if Reason == nil -> ok; true -> assert_string(Reason) end,
 gen_server:call(?MODULE, {delete, Section, Key, Persist, Reason}).
 
+assert_string(Term) ->
+case io_lib:printable_unicode_list(Term) of
--- End diff --

Hm...I feel sorry for unicode suggestion, but confusion as well. I put 
console log call before the case in order to print the terms that comes here 
and here is what I saw:
```
>>> "медвед"
>>> "водка"
>>> "медвед"
>>> "водка"
>>> "балалайка"
2015-06-09 21:01:11.116 [debug] node1@127.0.0.1 <0.1975.0> 'PUT' 
/_config/медвед/водка {1,1} from "127.0.0.1"
Headers: 
[{'Accept',"*/*"},{'Content-Length',"20"},{'Content-Type',"application/x-www-form-urlencoded"},{'Host',"localhost:15986"},{'User-Agent',"curl/7.42.1"}]
2015-06-09 21:01:11.117 [debug] node1@127.0.0.1 <0.1975.0> OAuth Params: []
2015-06-09 21:01:11.118 [notice] node1@127.0.0.1 <0.53.0> config: 
[медвед] водка set to балалайка for reason nil
2015-06-09 21:01:11.121 [notice] node1@127.0.0.1 <0.1975.0> 127.0.0.1 - - 
PUT /_config/медвед/водка 200
>>> "httpd"
>>> "enable_cors"
>>> "fabric"
>>> "changes_duration"
>>> "rexi"
>>> "server_per_node"
>>> "rexi"
>>> "server_per_node"
>>> "rexi"
>>> "server_per_node"
>>> "httpd"
>>> "x_forwarded_host"
2015-06-09 21:01:21.176 [debug] node1@127.0.0.1 <0.229.0> 'PUT' 
/_config/тест/тест {1,1} from "127.0.0.1"
Headers: 
[{'Accept',"*/*"},{'Content-Length',"10"},{'Content-Type',"application/x-www-form-urlencoded"},{'Host',"localhost:15986"},{'User-Agent',"curl/7.42.1"}]
>>> "httpd"
>>> "max_uri_length"
2015-06-09 21:01:21.176 [debug] node1@127.0.0.1 <0.229.0> OAuth Params: []
>>> "couch_httpd_auth"
>>> "require_valid_user"
>>> "httpd"
>>> "config_whitelist"
>>> "couchdb"
>>> "max_document_size"
>>> [209,130,208,181,209,129,209,130]
2015-06-09 21:01:21.177 [error] node1@127.0.0.1 <0.229.0> Badarg error in 
HTTP request
2015-06-09 21:01:21.177 [info] node1@127.0.0.1 <0.229.0> Stacktrace: 
[{config,assert_string,1,[{file,"src/config.erl"},{line,197}]},{config,get,3,[{file,"src/config.erl"},{line,141}]},{couch_httpd_misc_handlers,handle_approved_config_req,3,[{file,"src/couch_httpd_misc_handlers.erl"},{line,283}]},{couch_httpd,handle_request_int,5,[{file,"src/couch_httpd.erl"},{line,301}]},{mochiweb_http,headers,5,[{file,"src/mochiweb_http.erl"},{line,93}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]
>>> "httpd"
2015-06-09 21:01:21.177 [notice] node1@127.0.0.1 <0.229.0> 127.0.0.1 - - 
PUT /_config/тест/тест 500
>>> "enable_cors"
2015-06-09 21:01:21.177 [error] node1@127.0.0.1 <0.229.0> httpd 500 error 
response:
 {"error":"unknown_error","reason":"badarg"}
```

So it seems that `Term` could be both a Unicode string and a list of UTF-8 
codepoints depending if some specifics character in string are present. I'm not 
sure now what causes such behaviour, but it makes assertion fail.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: [WIP] Zen mode

2015-06-08 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/458#issuecomment-110120827
  
Why code highlight is different in dark/light modes?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fabric pull request: Merge diff from cloudant fork

2015-06-05 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fabric/pull/20#discussion_r31825932
  
--- Diff: src/fabric_doc_open.erl ---
@@ -30,7 +30,12 @@
 
 
 go(DbName, Id, Options) ->
-Workers = fabric_util:submit_jobs(mem3:shards(DbName,Id), open_doc,
+Handler = case proplists:get_value(doc_info, Options) of
--- End diff --

Good call!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fabric pull request: Merge diff from cloudant fork

2015-06-05 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fabric/pull/20#discussion_r31825108
  
--- Diff: src/fabric_doc_open.erl ---
@@ -30,7 +30,12 @@
 
 
 go(DbName, Id, Options) ->
-Workers = fabric_util:submit_jobs(mem3:shards(DbName,Id), open_doc,
+Handler = case proplists:get_value(doc_info, Options) of
--- End diff --

Here is one more `proplists:get_value`...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-05 Thread kxepal
Github user kxepal commented on the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#issuecomment-109324320
  
+1 Don't forget squash things (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-05 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31820430
  
--- Diff: src/couch_replicator_api_wrap.erl ---
@@ -83,9 +83,16 @@ db_open(#httpdb{} = Db1, _Options, Create) ->
 ok
 end)
 end,
-send_req(Db, [{method, head}],
-fun(200, _, _) ->
-{ok, Db};
+send_req(Db, [{method, get}],
+fun(200, _, {Props}) ->
+case get_value(<<"update_seq">>, Props) of
--- End diff --

@mikewallace1979 thank you! (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-04 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-config/pull/3#discussion_r31735649
  
--- Diff: src/config.erl ---
@@ -177,9 +182,19 @@ delete(Section, Key, Reason) ->
 
 delete(Sec, Key, Persist, Reason) when is_binary(Sec) and is_binary(Key) ->
 delete(binary_to_list(Sec), binary_to_list(Key), Persist, Reason);
-delete(Section, Key, Persist, Reason) when is_list(Section), is_list(Key) 
->
+delete(Section, Key, Persist, Reason) when is_boolean(Persist) ->
+assert_string(Section),
+assert_string(Key),
+if Reason == nil -> ok; true -> assert_string(Reason) end,
 gen_server:call(?MODULE, {delete, Section, Key, Persist, Reason}).
 
+assert_string(Term) ->
+case io_lib:printable_list(Term) of
--- End diff --

Btw, this PR also lacks related PRs for couchdb-couch and couchdb-chttpd to 
handle badarg error nicely as you may notice.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-04 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-config/pull/3#discussion_r31735209
  
--- Diff: src/config.erl ---
@@ -177,9 +182,19 @@ delete(Section, Key, Reason) ->
 
 delete(Sec, Key, Persist, Reason) when is_binary(Sec) and is_binary(Key) ->
 delete(binary_to_list(Sec), binary_to_list(Key), Persist, Reason);
-delete(Section, Key, Persist, Reason) when is_list(Section), is_list(Key) 
->
+delete(Section, Key, Persist, Reason) when is_boolean(Persist) ->
+assert_string(Section),
+assert_string(Key),
+if Reason == nil -> ok; true -> assert_string(Reason) end,
 gen_server:call(?MODULE, {delete, Section, Key, Persist, Reason}).
 
+assert_string(Term) ->
+case io_lib:printable_list(Term) of
--- End diff --

Technically speaking, this is BC. Personally, I have to rename all my 
admins after this PR or tweak CouchDB start options.

Few more fun facts about this constraint:
```
$ curl -X PUT http://localhost:15986/_config/test/тест -d '"failed"'
{"error":"unknown_error","reason":"badarg"}
$ curl -X PUT http://localhost:15986/_config/test/баз -d '"yes"'
""
$ curl -X PUT http://localhost:15986/_config/test/баз -d '"passed?"'
"yes"
```

The `баз` comes to the assert function as `"баз"` or 
`[1073,1072,1079]`  while `тест` comes as  
`[209,130,208,181,209,129,209,130]`.

More fun:

```
$ curl -X PUT http://localhost:15986/_config/дома/водка -d 
'"медвед"'
""
```

Printable range on node:

```
$ dev/remsh 
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [async-threads:10] 
[kernel-poll:false]

Eshell V6.4  (abort with ^G)
(node1@127.0.0.1)1> io:printable_range().
latin1
```

So I think this assertion not only breaks compatibility, but also doesn't 
works well and may cause confusion.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-04 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-config/pull/3#discussion_r31729178
  
--- Diff: src/config.erl ---
@@ -177,9 +182,19 @@ delete(Section, Key, Reason) ->
 
 delete(Sec, Key, Persist, Reason) when is_binary(Sec) and is_binary(Key) ->
 delete(binary_to_list(Sec), binary_to_list(Key), Persist, Reason);
-delete(Section, Key, Persist, Reason) when is_list(Section), is_list(Key) 
->
+delete(Section, Key, Persist, Reason) when is_boolean(Persist) ->
+assert_string(Section),
+assert_string(Key),
+if Reason == nil -> ok; true -> assert_string(Reason) end,
 gen_server:call(?MODULE, {delete, Section, Key, Persist, Reason}).
 
+assert_string(Term) ->
+case io_lib:printable_list(Term) of
--- End diff --

They didn't caused any bugs in 1.x, why should they eventually do that in 
2.0?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fabric pull request: Merge diff from cloudant fork

2015-06-03 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fabric/pull/20#discussion_r31626817
  
--- Diff: src/fabric.erl ---
@@ -161,7 +162,12 @@ get_all_security(DbName, Options) ->
 {error, any()} |
 {error, any() | any()}.
 open_doc(DbName, Id, Options) ->
-fabric_doc_open:go(dbname(DbName), docid(Id), opts(Options)).
+case proplists:get_value(doc_info, Options) of
--- End diff --

`couch_utl:get_value/2` is better as it based on BIF while proplists 
version is not.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-03 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31619297
  
--- Diff: src/couch_replicator_api_wrap.erl ---
@@ -83,9 +83,16 @@ db_open(#httpdb{} = Db1, _Options, Create) ->
 ok
 end)
 end,
-send_req(Db, [{method, head}],
-fun(200, _, _) ->
-{ok, Db};
+send_req(Db, [{method, get}],
+fun(200, _, {Props}) ->
+case get_value(<<"update_seq">>, Props) of
--- End diff --

@mikewallace1979 yes, because only these two fields are required for 
replication process. If the remote peer is a CouchDB database, it will provide 
both with no questions. If the remote is third party HTTP endpoint which claims 
to support replication protocol, this check will force it provides required for 
start information.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-config pull request: 2708 stronger testing for config set

2015-06-03 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-config/pull/3#discussion_r31618881
  
--- Diff: src/config.erl ---
@@ -177,9 +182,19 @@ delete(Section, Key, Reason) ->
 
 delete(Sec, Key, Persist, Reason) when is_binary(Sec) and is_binary(Key) ->
 delete(binary_to_list(Sec), binary_to_list(Key), Persist, Reason);
-delete(Section, Key, Persist, Reason) when is_list(Section), is_list(Key) 
->
+delete(Section, Key, Persist, Reason) when is_boolean(Persist) ->
+assert_string(Section),
+assert_string(Key),
+if Reason == nil -> ok; true -> assert_string(Reason) end,
 gen_server:call(?MODULE, {delete, Section, Key, Persist, Reason}).
 
+assert_string(Term) ->
+case io_lib:printable_list(Term) of
--- End diff --

This will cause a problem with non-latin1 configuration keys/values. By 
default, printable range is set to latin1 unless it changed via `+pc` option. 
The source of problems could be: admins login and passwords, secrets, oauth 
credentials, externals and query servers paths and even vendor name.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: perf: increase performance of http han...

2015-06-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/57#issuecomment-108122239
  
4% speedup isn't significant gain as CouchDB 2.0 now is about 7 times 
slower than 1.6.1 due to cluster routines, even with a single node.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: perf: increase performance of http han...

2015-06-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/57#issuecomment-108121847
  
-1 This change blocks the way to solve the following issues:
- https://issues.apache.org/jira/browse/COUCHDB-1278
- https://issues.apache.org/jira/browse/COUCHDB-1401

There was a hope that we could provide ability to customize logging format 
with lagger, but you're going to kill it right before the start.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-02 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31571434
  
--- Diff: src/couch_replicator_api_wrap.erl ---
@@ -83,9 +83,16 @@ db_open(#httpdb{} = Db1, _Options, Create) ->
 ok
 end)
 end,
-send_req(Db, [{method, head}],
-fun(200, _, _) ->
-{ok, Db};
+send_req(Db, [{method, get}],
+fun(200, _, {Props}) ->
+case get_value(<<"update_seq">>, Props) of
--- End diff --

Broken checkpoints is just a side effect of missing that field in the 
response. As like as if `update_seq` will be missed, replication will start and 
fail with some error in the middle. That's why both are required for clean 
start.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-02 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31550867
  
--- Diff: src/couch_replicator_api_wrap.erl ---
@@ -83,9 +83,16 @@ db_open(#httpdb{} = Db1, _Options, Create) ->
 ok
 end)
 end,
-send_req(Db, [{method, head}],
-fun(200, _, _) ->
-{ok, Db};
+send_req(Db, [{method, get}],
+fun(200, _, {Props}) ->
+case get_value(<<"update_seq">>, Props) of
--- End diff --

I know that, but assume that remote Source/Target is not a CouchDB. Then, 
this check ensures that remote is database by `update_seq` presence, runs 
replication and fill logs full of [out of 
sync](https://github.com/apache/couchdb-couch-replicator/blob/master/src/couch_replicator.erl#L777-L785)
 errors because `instance_start_time` also returns by `/_ensure_full_commit` 
endpoint what is 
[mandotarry](https://github.com/apache/couchdb-couch-replicator/blob/master/src/couch_replicator_api_wrap.erl#L184-L188).
 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-02 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31549841
  
--- Diff: src/couch_replicator_manager.erl ---
@@ -451,7 +487,14 @@ maybe_start_replication(State, DbName, DocId, RepDoc) 
->
 true = ets:insert(?DOC_TO_REP, {{DbName, DocId}, RepId}),
 couch_log:notice("Attempting to start replication `~s` (document 
`~s`).",
 [pp_rep_id(RepId), DocId]),
-Pid = spawn_link(fun() -> start_replication(Rep, 0) end),
+StartDelaySecs = erlang:max(0, list_to_integer(
+config:get("replicator", "start_delay", "10"))),
--- End diff --

There is nicer helper [config:get_integer(Key, Value, 
Default)](https://github.com/apache/couchdb-config/blob/master/src/config.erl#L60-L66).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch-replicator pull request: 2707 merge couch replicator...

2015-06-02 Thread kxepal
Github user kxepal commented on a diff in the pull request:


https://github.com/apache/couchdb-couch-replicator/pull/11#discussion_r31549741
  
--- Diff: src/couch_replicator_api_wrap.erl ---
@@ -83,9 +83,16 @@ db_open(#httpdb{} = Db1, _Options, Create) ->
 ok
 end)
 end,
-send_req(Db, [{method, head}],
-fun(200, _, _) ->
-{ok, Db};
+send_req(Db, [{method, get}],
+fun(200, _, {Props}) ->
+case get_value(<<"update_seq">>, Props) of
--- End diff --

This check is not enough as `instance_start_time` is also required. Without 
it checkpoints will never be made.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-06-01 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/55#issuecomment-107696253
  
@arturmazurek Please fix the following issues in amend commit:

```
55.patch:54: trailing whitespace.

55.patch:85: trailing whitespace.
   "Adding to empty headers"},  
55.patch:105: trailing whitespace.
   "Adding header to 2 elements headers list"} 
55.patch:108: trailing whitespace.
{Desc, 
55.patch:109: trailing whitespace.
?_assertEqual(ProperResult, 
warning: squelched 4 whitespace errors
warning: 9 lines add whitespace errors.
```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-06-01 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/55#issuecomment-107670149
  
@arturmazurek thanks! Let me check it, but LGFM.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: perf: http layer - cache couchdb versi...

2015-05-29 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/56#issuecomment-106906983
  
@robertkowalski if you update commit message to make it actual and shorter 
(no need to explain there about flamegraphs and benchmark, but about what it 
does and why it makes things better) then +1 from me (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: perf: http layer - cache couchdb versi...

2015-05-29 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/56#issuecomment-106885439
  
Alternative solution:

```
diff --git a/src/couch_server.erl b/src/couch_server.erl
index 228edc3..48046c6 100644
--- a/src/couch_server.erl
+++ b/src/couch_server.erl
@@ -45,12 +45,9 @@ dev_start() ->
 couch:start().
 
 get_version() ->
-Apps = application:loaded_applications(),
-case lists:keysearch(couch, 1, Apps) of
-{value, {_, _, Vsn}} ->
-Vsn;
-false ->
-"0.0.0"
+case application:get_key(couch, vsn) of
+{ok, Vsn} -> Vsn;
+undefined -> "0.0.0"
 end.
 get_version(short) ->
   %% strip git hash from version string
```

No need to fetch all the apps from the ets table and filter them twice (by 
load status and by name) since we already know our app name and it's already 
loaded.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-27 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31206220
  
--- Diff: src/couch_httpd.erl ---
@@ -30,6 +30,7 @@
 
-export([send_json/2,send_json/3,send_json/4,last_chunk/1,parse_multipart_request/3]).
 
-export([accepted_encodings/1,handle_request_int/5,validate_referer/1,validate_ctype/2]).
 -export([http_1_0_keep_alive/2]).
+-export([add_default_headers_if_needed/2, add_header_if_needed/2]).
--- End diff --

right


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-27 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-106053906
  
@nolanlawson thanks, that works, but now I recall that node-gyp tried to 
build broken v8 for my host. *sigh* it doesn't simply to build pouchdb /: 
Downloading Ububuntu ISO image now...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-27 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-106041063
  
@janl @nolanlawson need your help with:

```
$ npm link ../express-pouchdb

npm ERR! Error: EACCES: permission denied, symlink 
'/home/kxepal/tmp/pouchdb/express-pouchdb' -> 
'/usr/lib64/node_modules/express-pouchdb'
npm ERR! at Error (native)
npm ERR!  { [Error: EACCES: permission denied, symlink 
'/home/kxepal/tmp/pouchdb/express-pouchdb' -> 
'/usr/lib64/node_modules/express-pouchdb']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'symlink',
npm ERR!   path: '/home/kxepal/tmp/pouchdb/express-pouchdb',
npm ERR!   dest: '/usr/lib64/node_modules/express-pouchdb' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
```

I do not want to let npm install anything in my system bypassing system 
package manager. How can I tell `npm link` to use local directory, not 
`/usr/lib64/...`?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-27 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-106021935
  
@janl what the test you ran?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/55#issuecomment-105569926
  
Thanks! Basically, looks good, but left a few commentaries about the 
implementation.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31046925
  
--- Diff: test/couch_httpd_headers_tests.erl ---
@@ -0,0 +1,55 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may 
not
+% use this file except in compliance with the License. You may obtain a 
copy of
+% the License at
+%
+%   http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations 
under
+% the License.
+
+-module(couch_httpd_headers_tests).
+
+-include_lib("couch/include/couch_eunit.hrl").
+
+add_header_if_needed_test() ->
+Cases = [
+% should add to empty headers list
+{[],   {"K1", "V1"}, [{"K1", "V1"}]},
+% should add to non-empty header_list
+{[{"K1", "V1"}],   {"K2", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}],   {"K1", "V2"}, [{"K1", "V1"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}, {"K2", "V2"}], {"K1", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+% should add to a bit longer list
+{[{"K1", "V1"}, {"K2", "V2"}], {"K3", "V3"}, [{"K1", "V1"}, {"K2", 
"V2"}, {"K3", "V3"}]} 
+],
+lists:map(fun({InitialHeaders, HeaderToAdd, ProperResult}) ->
--- End diff --

Here you need to use [tests 
generation](http://www.erlang.org/doc/apps/eunit/chapter.html#id61504) - scroll 
down to "Writing test generating functions".


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31046984
  
--- Diff: test/couch_httpd_headers_tests.erl ---
@@ -0,0 +1,55 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may 
not
+% use this file except in compliance with the License. You may obtain a 
copy of
+% the License at
+%
+%   http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations 
under
+% the License.
+
+-module(couch_httpd_headers_tests).
+
+-include_lib("couch/include/couch_eunit.hrl").
+
+add_header_if_needed_test() ->
+Cases = [
+% should add to empty headers list
+{[],   {"K1", "V1"}, [{"K1", "V1"}]},
+% should add to non-empty header_list
+{[{"K1", "V1"}],   {"K2", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}],   {"K1", "V2"}, [{"K1", "V1"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}, {"K2", "V2"}], {"K1", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+% should add to a bit longer list
+{[{"K1", "V1"}, {"K2", "V2"}], {"K3", "V3"}, [{"K1", "V1"}, {"K2", 
"V2"}, {"K3", "V3"}]} 
+],
+lists:map(fun({InitialHeaders, HeaderToAdd, ProperResult}) ->
+?assertEqual(ProperResult, 
couch_httpd:add_header_if_needed(HeaderToAdd, InitialHeaders))
+end, Cases).
+
+add_default_headers_if_needed_test() ->
+% couch_httpd uses process dictionary to check if currently in a 
+% json serving method. Defaults to 'application/javascript' otherwise.
+% In this test, with an empty dummy request it will also default to 
that.
+DummyRequest = [],
+NoCacheHeader = {"Cache-Control", "no-cache"},
+DefaultMustRevalidateHeader = {"Cache-Control", "must-revalidate"}, 
+DefaultApplicationJavascriptHeader = {"Content-Type", 
"application/javascript"},
+ApplicationJsonHeader = {"Content-Type", "application/json"},
+Cases = [
+% When there are no headers should add Content-Type and 
Cache-Control
+{[], 
[DefaultApplicationJavascriptHeader, DefaultMustRevalidateHeader]},
+% When there's already a Cache-Control header, should add only 
Content-Type header
+{[NoCacheHeader],[NoCacheHeader, 
DefaultApplicationJavascriptHeader]},
+% When there's already a Content-Type header should add 
Cache-Control header
+{[ApplicationJsonHeader],[ApplicationJsonHeader, 
DefaultMustRevalidateHeader]},
+% When both Cache-Control and Content-Type headers are present 
shouldn't add anything
+{[NoCacheHeader, ApplicationJsonHeader], [NoCacheHeader, 
ApplicationJsonHeader]}
+],
+lists:map(fun({InitialHeaders, ProperResult}) ->
--- End diff --

Same test generation should be applied here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31046557
  
--- Diff: test/couch_httpd_headers_tests.erl ---
@@ -0,0 +1,55 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may 
not
+% use this file except in compliance with the License. You may obtain a 
copy of
+% the License at
+%
+%   http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations 
under
+% the License.
+
+-module(couch_httpd_headers_tests).
+
+-include_lib("couch/include/couch_eunit.hrl").
+
+add_header_if_needed_test() ->
+Cases = [
+% should add to empty headers list
+{[],   {"K1", "V1"}, [{"K1", "V1"}]},
+% should add to non-empty header_list
+{[{"K1", "V1"}],   {"K2", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}],   {"K1", "V2"}, [{"K1", "V1"}]},
+ % should not add or change when already there
+{[{"K1", "V1"}, {"K2", "V2"}], {"K1", "V2"}, [{"K1", "V1"}, {"K2", 
"V2"}]},
+% should add to a bit longer list
+{[{"K1", "V1"}, {"K2", "V2"}], {"K3", "V3"}, [{"K1", "V1"}, {"K2", 
"V2"}, {"K3", "V3"}]} 
+],
+lists:map(fun({InitialHeaders, HeaderToAdd, ProperResult}) ->
+?assertEqual(ProperResult, 
couch_httpd:add_header_if_needed(HeaderToAdd, InitialHeaders))
+end, Cases).
+
+add_default_headers_if_needed_test() ->
+% couch_httpd uses process dictionary to check if currently in a 
+% json serving method. Defaults to 'application/javascript' otherwise.
+% In this test, with an empty dummy request it will also default to 
that.
+DummyRequest = [],
+NoCacheHeader = {"Cache-Control", "no-cache"},
+DefaultMustRevalidateHeader = {"Cache-Control", "must-revalidate"}, 
+DefaultApplicationJavascriptHeader = {"Content-Type", 
"application/javascript"},
+ApplicationJsonHeader = {"Content-Type", "application/json"},
+Cases = [
+% When there are no headers should add Content-Type and 
Cache-Control
+{[], 
[DefaultApplicationJavascriptHeader, DefaultMustRevalidateHeader]},
--- End diff --

Can we not go beyond from 80 right margin?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31046410
  
--- Diff: src/couch_httpd.erl ---
@@ -30,6 +30,7 @@
 
-export([send_json/2,send_json/3,send_json/4,last_chunk/1,parse_multipart_request/3]).
 
-export([accepted_encodings/1,handle_request_int/5,validate_referer/1,validate_ctype/2]).
 -export([http_1_0_keep_alive/2]).
+-export([add_default_headers_if_needed/2, add_header_if_needed/2]).
--- End diff --

If these functions are internal, no need to pollute export API. eunit tests 
could be defined inline at the end of the module via check against TEST 
definition. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-26 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/55#discussion_r31046121
  
--- Diff: src/couch_httpd.erl ---
@@ -745,6 +739,19 @@ start_json_response(Req, Code, Headers) ->
 end_json_response(Resp) ->
 send_chunk(Resp, end_jsonp() ++ [$\n]),
 last_chunk(Resp).
+   
+add_default_headers_if_needed(ForRequest, ToHeaders) ->
--- End diff --

`maybe_add_default_headers` sounds better, shorter and easy to read.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix `active_size` format conversion in...

2015-05-26 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/54#issuecomment-105524431
  
@eiri by migrate you mean simple copy-paste db file from 1.x to 2.0 
database directory? And what's the different between DBCore and CouchDB 1.x?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix `active_size` format conversion in...

2015-05-26 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/54#issuecomment-105521023
  
How it's possible to reproduce such case? Never saw any problem with sizes 
for db info.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fix duplicated Content-Type for show/u...

2015-05-25 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/53#issuecomment-105247728
  
Thanks for the patch! Can you provide tests for your changes? 

Also, for CouchDB 2.0 you fixed problem only on local interface, while for 
[cluster|https://github.com/apache/couchdb-chttpd/blob/master/src/chttpd.erl] 
one it still may exists. Worth to check.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Fixing a build for Mac OS 10.10

2015-05-23 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/52#issuecomment-104901697
  
Thanks for the patch! LGFM. @janl @robertkowalski could you confirm?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fabric pull request: 2526 pending updates info

2015-05-12 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fabric/pull/9#issuecomment-101401278
  
All merged. Thanks! (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Dynamic endpoints handlers

2015-05-12 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/10#issuecomment-101317048
  
@hdiedrich Hey! Config support suddenly is needed by the following reasons:

- It saved us many times when security issue was found in some HTTP 
handler. The recent example: 
http://docs.couchdb.org/en/latest/cve/2014-2668.html - users were able to 
handle that problem without upgrade procedure, but with a single config line 
change.

- Some users are disables default handlers, or provide own overlay, in 
order to prevent or customize access to certain endpoints. Quite popular move 
is to disable /_all_dbs in order to prevent sharing database lists for 
everyone. Another option is to replace default handler with own from the plugin 
if you're going to change behaviour without patching the source code.

- Somehow need to provide ability to register proxy and external handlers.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fabric pull request: 2526 pending updates info

2015-05-11 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fabric/pull/9#issuecomment-101017730
  
Oh, I wonder why it still now. Will check it now and merge if everything is 
ok.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-11 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-100890680
  
@garrensmith Few more to come:
- COUCHDB-2244;
- COUCHDB-2243;
- COUCHDB-2476;
- When user tries to change own password, Fauxton forbids that requiring to 
be an admin;
- Bulk delete doesn't deletes all selected documents and surprisely cannot 
delete anything if there is only one document in database;
- File upload still doesnt works: Could not upload document: Referer header 
required.
- Some files are still missed:

Bonus: http://localhost:8000/_utils (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-11 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-100825582
  
@garrensmith sure! will also check it again.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Escape database name on posts to _rep...

2015-05-08 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/35#issuecomment-100331205
  
It would be also good to have some test on this. Again, this issue was 
found by third party project.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Escape database name on posts to _rep...

2015-05-08 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-chttpd/pull/35#discussion_r29967748
  
--- Diff: src/chttpd.erl ---
@@ -315,9 +315,13 @@ replication_uri(Type, PostProps) ->
 {Props} ->
 couch_util:get_value(<<"url">>, Props);
 Else ->
-Else
+escape_dbname(Else)
 end.
 
+escape_dbname(DbName) ->
+re:replace(DbName, "/", "%2f", [global, {return, binary}]).
--- End diff --

Why not to use `chttpd:quote` here?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Detect if we run on a backdoor port

2015-05-07 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fauxton/pull/400#discussion_r29853372
  
--- Diff: app/app.js ---
@@ -126,7 +126,30 @@ function (app, $, _, Backbone, Bootstrap, Helpers, 
Utils, FauxtonAPI, Couchdb) {
   type: 'REMOVE_NAVBAR_LINK',
   link: link
   });
+},
+
+isRunningOnBackdoorPort: function () {
--- End diff --

Good! (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Detect if we run on a backdoor port

2015-05-07 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-fauxton/pull/400#discussion_r29847412
  
--- Diff: app/app.js ---
@@ -126,7 +126,30 @@ function (app, $, _, Backbone, Bootstrap, Helpers, 
Utils, FauxtonAPI, Couchdb) {
   type: 'REMOVE_NAVBAR_LINK',
   link: link
   });
+},
+
+isRunningOnBackdoorPort: function () {
--- End diff --

I think the name is too broad. If...when.../_config will be available on 
cluster interface it will be easy to break all the logic behind that name. 

I would suggest to use some specific like "isConfigAvailable" to control 
features availability per resource basis or use some cluster-only resource like 
`_membership` or `_cluster_setup` e.g. those that only makes a sense for 
cluster interface. 

Alternatively, you may figure if you're on cluster or not from `GET /` 
request - cluster has no uuid in response, but that's may be also temporary 
solution.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Add test suite for global_changes

2015-05-06 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-couch/pull/47#issuecomment-99484616
  
Could you rebase your PR for no-ff merge?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Refactor/multipart stream

2015-05-06 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/19#discussion_r29760699
  
--- Diff: src/couch_db_updater.erl ---
@@ -605,10 +605,41 @@ init_db(DbName, Filepath, Fd, Header0, Options) ->
 Db
 end.
 
+open_db_file(Filepath, Options) ->
--- End diff --

Thanks! (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-couch pull request: Refactor/multipart stream

2015-05-05 Thread kxepal
Github user kxepal commented on a diff in the pull request:

https://github.com/apache/couchdb-couch/pull/19#discussion_r29682825
  
--- Diff: src/couch_db_updater.erl ---
@@ -605,10 +605,41 @@ init_db(DbName, Filepath, Fd, Header0, Options) ->
 Db
 end.
 
+open_db_file(Filepath, Options) ->
--- End diff --

@iilyak It seems there are some commits that are not related to multipart 
refactor. Could you rebase your PR against current master?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99076084
  
Ok, I take back my "works perfectly" words, sorry (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99075961
  
Also, this page has some weird behaviour:
1. Create some view function here
2. Go to ddoc
3. Edit view function in JSON doc
4. Go back to view browsing page
5. You'll see your old function here
6. Refresh page - you'll see your actual function now
7. Refresh page - you'll see `function (keys, values, rereduce) {` default 
one

Also, it seems that Fauxton rejects to show all non javascript views at all.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99075552
  
On view index edit page:
```
Could not locate 
/home/kxepal/tmp/node_modules/fauxton/dist/release/_utils/js/ace/mode-javascript.js
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99074590
  
Default map function contains very awkward code:
```
function (keys, values, rereduce) {
  if (rereduce) {
return sum(values);
  } else {
return values.length;
  }
}
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99074167
  
Failed to clone document:
```
Could not duplicate document, reason: {"error":"ENOENT: no such file or 
directory, stat 
'/home/kxepal/tmp/node_modules/fauxton/dist/release/c/05155567753a13c8e110d96eebe348a3'"}.
 
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99073962
  
Failed to upload attachment:
```
Could not upload document: undefined
```

In console:

```
Could not locate 
/home/kxepal/tmp/node_modules/fauxton/dist/release/c/05155563216341bc0e69507ce06a4b9f
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99073341
  
Polling interval for active tasks is set as 5 seconds, but actually my 
Firefox 37 doing one request every 5 milliseconds.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99073097
  
Seems like changes feed page is broken as well:
```
Could not locate 
/home/kxepal/tmp/node_modules/fauxton/dist/release/a/_changes?limit=100
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99073012
  
When you open database compaction page:
```
{"error":"ENOENT: no such file or directory, stat 
'/home/kxepal/tmp/node_modules/fauxton/dist/release/database/a/compact'"}
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99072803
  
Oh, no...
GET http://localhost:8000/_utils/js/ace/theme-idle_fingers.js - HTTP 404
GET http://localhost:8000/_utils/js/ace/mode-json.js - HTTP 404


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-fauxton pull request: Fauxton Server for use with NPM

2015-05-05 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-fauxton/pull/395#issuecomment-99072704
  
A few warnings on install:
```
npm WARN engine follow@0.11.4: wanted: {"node":"0.10.x || 0.8.x"} (current: 
{"node":"1.8.1","npm":"2.8.3"})
npm WARN engine xmlbuilder@2.4.6: wanted: {"node":"0.8.x || 0.10.x || 
0.11.x  || 1.0.x"} (current: {"node":"1.8.1","npm":"2.8.3"})
|
> fauxton@1.0.1 postinstall /home/kxepal/tmp/node_modules/fauxton
> grunt release

>> Local Npm module "grunt-contrib-watch" not found. Is it installed?
>> Local Npm module "grunt-mocha-phantomjs" not found. Is it installed?
```

But in everything else, it works perfectly with io.js 1.8.1
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-98408064
  
@nolanlawson hm..fine then (: 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-98407945
  
@nolanlawson 

> Shouldn't application/json be the expected default?

I think it should. Good point!

> curl -X POST "127.0.0.1:15984/mydb/_bulk_get" -H 
'content-type:application/json' --data-binary '{"revs": true, 
"docs":[{"id":"foo","rev":"1-967a00dff5e02add41819138abb3284d"}]}'

`revs` need to be passed as query parameter, not in payload. In you request 
it just being ignored.

> Also: it seems impossible to specify attachments anywhere (keep in mind 
that PouchDB has not implemented atts_since yet). This seems to be a blocker 
bug that would make us unable to use your implementation.

Well, this is blocker bug for PouchDB to sync with Couchbase as well as 
they don't declare attachments query parameter as the one that accepted for 
/_bulk_get endpoint. I can make it work (thought, I wonder why it don't - 
didn't check yet), but that would be deviation from the original spec.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-98395137
  
@nolanlawson As for PouchDB test suite issue, @chewbranca work is not merge 
yet. Thought, you might be interested to try 2657-fix-cassim-fabric-calls 
branch of cassim repository and run test suite again - it passed original 
issue, but hits more ones and I'm in doubt to say whom to blame since PouchDB 
starts fail for expected revs in changes feed. 

Look forward for you PR! Just drop a reference here onto it, I'll join to 
yours testing party (:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] couchdb-chttpd pull request: Implement /db/_bulk_get endpoint

2015-05-02 Thread kxepal
Github user kxepal commented on the pull request:

https://github.com/apache/couchdb-chttpd/pull/33#issuecomment-98394660
  
>  | http 'http://localhost:15984/test/_bulk_get?revs=true'

(;


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


  1   2   3   4   5   6   7   8   9   >