Fork me on GitHub
#onyx
<
2016-06-17
>
michaeldrogalis01:06:58

It will land on the website with the 0.9.7 release.

aaelony21:06:37

quick question... is the expectation that I should be able to do:

lein new onyx-app myapp
cd myapp
lein run -m myapp.core 
and that should work?

gardnervickers21:06:36

It depends what you’re trying to do

gardnervickers21:06:46

But generally no, the template is not setup for that

aaelony21:06:10

oh, then I'm just looking for a list of things I need to do to make that work...

gardnervickers21:06:12

The -main function in myapp.core serves to startup peers or submit a job to a cluster

gardnervickers21:06:56

You can run the tests (spawns an end to end test with a live onyx in-memory instance)

aaelony21:06:20

is that described somewhere?

gardnervickers21:06:58

No, it’s just lein test

gardnervickers21:06:07

however if you want to run a docker-compose cluster you can refer to the readme https://github.com/onyx-platform/onyx-template

aaelony21:06:09

so, lein test gives me lots of errors

gardnervickers21:06:26

Could you post the gist of some?

aaelony21:06:54

Caused by: java.lang.UnsupportedClassVersionError: uk/co/real_logic/agrona/collections/Int2ObjectHashMap : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
        at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
        at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:412) 

aaelony21:06:22

or from the start...

aaelony21:06:26

$  lein test
Exception in thread "main" java.lang.UnsupportedClassVersionError: uk/co/real_logic/agrona/collections/Int2ObjectHashMap : Unsupported major.minor version 52.0, compiling:(onyx/messaging/aeron/peer_manager.clj:1:1)
        at clojure.lang.Compiler.load(Compiler.java:7391)
        at clojure.lang.RT.loadResourceScript(RT.java:372)
        at clojure.lang.RT.loadResourceScript(RT.java:363)
        at clojure.lang.RT.load(RT.java:453)
        at clojure.lang.RT.load(RT.java:419)
        at clojure.core$load$fn__5677.invoke(core.clj:5893)
        at clojure.core$load.invokeStatic(core.clj:5892)
        at clojure.core$load.doInvoke(core.clj:5876)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invokeStatic(core.clj:5697)
        at clojure.core$load_one.invoke(core.clj:5692)
        at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
        at clojure.core$load_lib.invokeStatic(core.clj:5736)
        at clojure.core$load_lib.doInvoke(core.clj:5717) ... 

aaelony21:06:37

if I open up src/myapp/core.clj and try to evaluate the first stanza (namespace) in Cider, it also gives me errors

gardnervickers21:06:30

Whats your java version java -version

gardnervickers21:06:32

needs to be 1.8

aaelony21:06:38

that must be it

aaelony21:06:02

java version "1.7.0_91"

aaelony21:06:31

I do have java8 installed as well, I wonder if I can ask lein to use it...

gardnervickers21:06:05

to switch JDK's

aaelony21:06:17

oh, this is an older CentOs box

gardnervickers21:06:28

Hmm I’m not sure then

aaelony21:06:34

I will google

aaelony21:06:38

thanks 🙂

gardnervickers21:06:39

Awesome good luck

aaelony21:06:48

thanks again

aaelony21:06:28

that was it! works great

aaelony23:06:45

hey - another question. The older meetup example was really cool. I saved a copy of it and at one point it was working great. But now upon docker-compose up I get errors at some point

peer_1       | Exception in thread "main" java.io.IOException: No space left on device
I'm not sure which device this is (which container?) any ideas on where this might be?

gardnervickers23:06:23

Can you post the full exception?

gardnervickers23:06:52

We also have this now

gardnervickers23:06:24

Just put in your Twitter API keys and follow the instructions and it'll get you an easier to use job feeding off the Twitter stream

aaelony23:06:07

I wanted to look into the twitter example as well, I don't as yet have twitter keys... (believe it or not, never used Twitter)

aaelony23:06:20

shm_size looks interesting

aaelony23:06:06

but peer doesn't have that in the (older) example

gardnervickers23:06:19

In the older example that was manually set in the media driver script, the two settings are mutually exclusive though, only use one or the other, and for everything new prefer setting shm_size explicitly

aaelony23:06:37

I'll check out the onyx-twitter-sample as well

gardnervickers23:06:57

Yea it should be pretty straightforward to get the meetup example going but the problem with that was the tempermental setup between the curling kafkacat container and kafka

gardnervickers23:06:09

We opted to write a Twitter plugin in order to avoid that complexity

aaelony23:06:29

I had it working earlier...but I'm still learning and don't know what I don't know

gardnervickers23:06:48

Yup sounds good any questions just shoot 😄

aaelony23:06:02

easiest way to get twitter keys?

gardnervickers23:06:55

If you have a Twitter account it's like two buttons to generate them

aaelony23:06:06

I'm reluctant to sign up 😞

gardnervickers23:06:08

Not sure where, I google search for the link every time haha

gardnervickers23:06:15

Just make a fake account

gardnervickers23:06:38

I would have done that but they rate limit

aaelony23:06:43

makes sense