Skip to content

Instantly share code, notes, and snippets.


Robert Newson rnewson

View GitHub Profile
rnewson / gist:2387973
Created Apr 14, 2012
CouchDB Future Feature List - Round 2
View gist:2387973
A list of features that we want to see in CouchDB. Needs to be voted on so that it can become a priority queue.
User Facing Features
1. Conflicts are the rule, not the exception
All previous versions of CouchDB hide conflicts by default (selecting
an arbitrary but consistent winning revision). Expert users can find
and resolve conflicts.
View gist:4163490
2012-11-28 19:27:39 scalang.node.ErlangHandler [ERROR] error caught in erlang handler 'dev1@
java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread.
at scalang.epmd.Epmd.<init>(Epmd.scala:58)
at scalang.epmd.Epmd$.apply(Epmd.scala:32)
at scalang.ErlangNode.connectAndSend(Node.scala:871)
at scalang.ErlangNode$$anonfun$4.apply(Node.scala:844)
at scalang.ErlangNode$$anonfun$4.apply(Node.scala:844)
at overlock.atomicmap.OneShotThunk.value(OneShotThunk.scala:32)
View gist:4164636
# Provides: bprobe
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: initscript for runit-managed service
View gist:4188814
➜ ~ couchdb
Apache CouchDB 1.2.0 (LogLevel=info) is starting.
[error] [<0.92.0>] {error_report,<0.30.0>,
View gist:4214747
diff --git a/src/main/java/com/github/rnewson/couchdb/lucene/ b/src/main/java/com/github/rnewson/couchdb/lucene/
index 9f78fe8..11ef9a9 100644
--- a/src/main/java/com/github/rnewson/couchdb/lucene/
+++ b/src/main/java/com/github/rnewson/couchdb/lucene/
@@ -420,6 +420,7 @@ public final class DatabaseIndexer implements Runnable, ResponseHandler<Void> {
result.put("doc_del_count", reader.numDeletedDocs());
result.put("uuid", state.getUuid());
result.put("digest", state.getDigest());
+ result.put("update_seq", getUpdateSequence(reader.getIndexCommit().getUserData()));
final JSONArray fields = new JSONArray();
View gist:4215207
Truncate the original log file to zero size in place after creating a copy, instead of moving the old log file and optionally creating a new one. It can be used when some program cannot be told to close its logfile and thus might continue writing
(appending) to the previous log file forever. Note that there is a very small time slice between copying the file and truncating it, so some logging data might be lost. When this option is used, the create option will have no effect, as the old log
file stays in place.
View gist:4225901
diff --git a/src/couchdb/couch_doc.erl b/src/couchdb/couch_doc.erl
index d991de2..4f5d19d 100644
--- a/src/couchdb/couch_doc.erl
+++ b/src/couchdb/couch_doc.erl
@@ -458,15 +458,17 @@ len_doc_to_multi_part_stream(Boundary, JsonBytes, Atts, SendEncodedAtts) ->
_ ->
AccAttsSize +
4 + % "\r\n\r\n"
- case SendEncodedAtts of
- true ->
View gist:4226210
The default (identity) encoding; the use of no transformation
whatsoever. This content-coding is used only in the Accept-
Encoding header, and SHOULD NOT be used in the Content-Encoding
View gist:4551475
[url ""]
insteadOf = "git://"
pushInsteadOf = "git://"
[url ""]
insteadOf = ""
pushInsteadOf = ""
View gist:4567333
function isArray(obj) {
return === "[object Array]";