Hi David,
I nuked all my zookeeper deps in my lib and ~/.m2 dirs, but similar to Edmund
experience it doesn't fix anything. My stacktrace is also identical:
∴ /Users/sam/tmp/avv
λ lein deps
Downloading: zookeeper-clj/zookeeper-clj/0.9.0/zookeeper-clj-0.9.0.pom from
repository clojars at http://clojars.org/repo/
Transferring 2K from clojars
Downloading: zookeeper-clj/zookeeper-clj/0.9.0/zookeeper-clj-0.9.0.jar from
repository clojars at http://clojars.org/repo/
Transferring 9K from clojars
Copying 8 files to /Users/sam/tmp/avv/lib
Copying 5 files to /Users/sam/tmp/avv/lib/dev
∴ /Users/sam/tmp/avv
λ lein repl
Listening for transport dt_socket at address: 52602
REPL started; server listening on localhost port 33063
user=> (use 'avout.core)
log4j:WARN No appenders could be found for logger
(org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more
info.
nil
user=> (def client (connect "127.0.0.1"))
#'user/client
user=> (def r0 (zk-ref client "/r0" 0))
java.lang.IllegalArgumentException: Path must not end with / character
run-in-transaction exception: #<IllegalArgumentException
java.lang.IllegalArgumentException: Path must not end with / character> nil
at
org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:58)
at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1025)
at zookeeper$set_data.doInvoke(zookeeper.clj:394)
at clojure.lang.RestFn.invoke(RestFn.java:470)
at avout.transaction$update_txn_state.invoke(transaction.clj:82)
at avout.transaction$stop$fn__1104.invoke(transaction.clj:239)
at avout.transaction$stop.invoke(transaction.clj:238)
at
avout.transaction.LockingTransaction$fn__1117.invoke(transaction.clj:321)
at
avout.transaction.LockingTransaction.runInTransaction(transaction.clj:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:92)
at
clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:30#'user/r0
user=> )
at avout.transaction$run_in_transaction.invoke(transaction.clj:354)
at avout.core$zk_ref.doInvoke(core.clj:51)
at clojure.lang.RestFn.invoke(RestFn.java:445)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3337)
at clojure.lang.Compiler$DefExpr.eval(Compiler.java:375)
at clojure.lang.Compiler.eval(Compiler.java:6470)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core$eval.invoke(core.clj:2795)
at clojure.main$repl$read_eval_print__5967.invoke(main.clj:244)
at clojure.main$repl$fn__5972.invoke(main.clj:265)
at clojure.main$repl.doInvoke(main.clj:265)
at clojure.lang.RestFn.invoke(RestFn.java:512)
at user$eval27$acc__3869__auto____30$fn__32.invoke(NO_SOURCE_FILE:1)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:680)
Sam
---
http://sam.aaron.name
On 1 Dec 2011, at 15:39, David Edgar Liebke wrote:
> Hi Sam,
>
>> run-in-transaction exception: #<IllegalArgumentException
>> java.lang.IllegalArgumentException: Path must not end with / character> nil
>
> Very interesting, I wouldn't expect that particular exception unless you
> named the zk-ref "/r0/" instead of "/r0", which you apparently didn't.
>
> And even when I do call it "/r0/" I get the "Path must not end with /
> character" exception at a different point in the code, which is probably the
> result of a patch I added to zookeeper-clj yesterday.
>
> Can you try deleting the zookeeper-clj jar file from your dependencies,
> blowing about your ~/.m2/repository/zookeeper-clj directory, reloading your
> deps, and trying again?
>
> David
>
>
> On Dec 1, 2011, at 10:04 AM, Sam Aaron wrote:
>
>> Hi David,
>>
>> I'm super excited by Avout. It seems *better* than magic in that it not only
>> appears to make complicated things possible, but also in a conceptually
>> transparent way. Crazy cool.
>>
>> I'm about to look into this in detail, but I thought I'd just post an issue
>> I'm having with the basic example just on the off-chance that I'm doing
>> something obviously wrong.
>>
>> I have zookeeper 3.3.3 installed running on port 2181 with a valid dataDir
>> path with the appropriate permissions. I'm got avout 0.5.0 and in a REPL
>> session I do the following:
>>
>> ; SLIME 2009-10-15
>>
>> user> (use 'avout.core)
>>
>> nil
>>
>> user> (def client (connect "127.0.0.1"))
>>
>> #'user/client
>>
>> user> (def r0 (zk-ref client "/r0" 0))
>>
>> run-in-transaction exception: #<IllegalArgumentException
>> java.lang.IllegalArgumentException: Path must not end with / character> nil
>> #'user/r0
>>
>> user> r0
>>
>> #<DistributedReference@761b2f32: nil>
>>
>> user> @r0
>>
>> nil
>>
>>
>> Sam
>>
>> ---
>> http://sam.aaron.name
>>
>>
>> On 29 Nov 2011, at 17:38, liebke wrote:
>>
>>> Today we are releasing Avout, which brings Clojure's in-memory model
>>> of state to distributed application development by providing a
>>> distributed implementation of Clojure's Multiversion Concurrency
>>> Control (MVCC) STM along with distributable, durable, and extendable
>>> versions of Clojure's Atom and Ref concurrency primitives.
>>>
>>> Here's the post announcing the project:
>>> http://clojure.com/blog/2011/11/29/avout.html
>>>
>>> And here's the project's website: http://avout.io
>>>
>>>
>>> David
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to [email protected]
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to [email protected]
>> Note that posts from new members are moderated - please be patient with your
>> first post.
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en