[GitHub] couchdb pull request #460: Change snap packaging to build from source
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
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
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
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
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
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
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
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...
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...
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:
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:
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:
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:
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:
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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...
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...
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
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
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
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
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...
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
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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
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
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
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...
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...
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...
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...
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...
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...
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...
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...
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...
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
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
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
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
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
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
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...
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...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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. ---