Fork me on GitHub
#boot
<
2015-11-04
>
dm313:11:47

hey guys

dm313:11:03

is it possible to share a datomic peer across boot pods?

dm313:11:45

As I understand one way is to make the base classloader load clojure and datomic. This will break ShimDandy though, right? If I only ever need to use one version of clojure, does that make a difference?

martinklepsch13:11:48

@dm3: how exactly do you mean accross pods? do you want it in every pod?

dm313:11:00

yes, the same datomic peer

martinklepsch13:11:43

can you explain why? usually what’s executed in pods is specific to particular tasks..

dm313:11:54

because number of peers is limited by license

dm313:11:12

and I have them running for multiple users

dm313:11:30

(the pods)

martinklepsch13:11:40

couldn’t you have a single datomic pod the rest of the pods talk to?

martinklepsch13:11:34

sorry I’m circling around your original question, I think it’s probably possible to do what you want although I’m not sure if I’d recommend it. Take a look at boot_shim.clj for global pod customization: https://github.com/boot-clj/boot/wiki/Configuring-Boot#boot-shimclj-here-be-dragons

dm313:11:52

datomic transactions/results should be serializable for the most part

dm313:11:19

although that would probably trigger more changes than I'd like

dm313:11:08

thanks for the link

martinklepsch14:11:13

@micha: wouldn’t the modified cljs.edn be in the removed user-files?

micha14:11:19

@martinklepsch: no, because it's already been removed when boot-cljs adds a new file with the same path

micha14:11:46

boot keeps track of which files come from the user's project, and segregates them in separate dirs in the fileset

micha14:11:27

so when you make a file in a tmpdir with the same path as a file in the project and you add the tmpdir to the fileset, that file is added in such a way that we know that it was added by a task

micha14:11:32

which is what we're doing there

martinklepsch14:11:33

ah ok. So when I overwrite a file in the fileset using a task it’s no longer a user-file...

micha14:11:57

this is key because we're updating the user files as the user arbitrarily changes them

micha14:11:09

which is different than what happens with tasks in the pipeline

micha14:11:32

we allow more freedom for the user to modify stuff, basically

micha14:11:28

the bug was caused by the reset-fileset thing merging the user files on top of the fileset arg

micha14:11:41

this patch does it the opposite order

micha14:11:00

basically it is like running those tasks again

micha14:11:15

which is kind of cool

martinklepsch14:11:04

@micha: can we merge the boot builds boot stuff? I want to pop this of my stack and actually build boot with boot 😛

tcrawley21:11:06

martinklepsch: is that just breaking the pod functionality out in to its own project?

martinklepsch21:11:24

@tcrawley: thats just a demo that deploying with boot works

tcrawley21:11:01

was there concern that it wasn't working?

micha21:11:21

i keep forgetting to open a ticket about the repo metadata thing simple_smile

micha21:11:27

on boot/worker

martinklepsch21:11:56

which metadata thing?

micha21:11:21

the maven metadata corruption issue

martinklepsch21:11:21

@tcrawley: apparently some of the copied dashes wasn’t allowed in pom.xml fails which made pushing fail

tcrawley21:11:51

hmm, I just realized that slack's irc integration is adding [cc: tcrawley] to any keyword I have set up, and I have one for 'clojars'

tcrawley21:11:12

I was wondering why people were saying [cc: tcrawley] every time they mentioned clojars :)

martinklepsch21:11:20

@micha: like this one `org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 31; An invalid XML character (Unicode: 0x13) was found in the element content of the document.`

tcrawley21:11:24

"<martinklepsch> https://clojars.org/org.martinklepsch/pod 😉 [cc: tcrawley]"

micha21:11:42

martinklepsch: yeah that's the issue i was running into

micha21:11:56

but the boot/worker metadata thing is different

martinklepsch21:11:06

that said if you feel like it you could delete that project from clojars @tcrawley simple_smile

tcrawley21:11:30

sure, one sec

martinklepsch21:11:51

@micha: how’s the worker metadata thing different?

micha21:11:39

it's a metadata file on clojars

micha21:11:43

it's not a pom.xml

martinklepsch22:11:44

^ this fixes the SAXParseException thing above. I’m not sure what metadata file issue you mean wrt boot/worker

micha22:11:47

@martinklepsch: i'd like to deploy 2.5.0 before we merge boot-builds-boot if that's ok

micha22:11:06

because that adds the thing needed for synchronizing runboot

micha22:11:26

which will be necessary for sanity

martinklepsch22:11:36

I think since it’s fully working on feature parity with the existing stuff I don’t see much reason to hold it back but at the same time I don’t really I guess.

micha22:11:35

how does it handle the case where some deploys fail and some succeed?

micha22:11:18

with the current makefile i can fix that manually without much effort

micha22:11:33

which i have to do every time i deploy because of the boot/worker metadata thing

martinklepsch22:11:13

@micha: you can just rebuild one jar and deploy it if that’s what you’re asking(?)

martinklepsch22:11:45

have you already written some code that uses boot.pod/data? would be interested to see simple_smile

micha22:11:22

i'll fork your branch and use the synchronization stuff

martinklepsch22:11:29

I deployed the pod jar with boot pod p/push-snapshot so all things can be built/pushed independently if wanted

pandeiro23:11:03

is there any way I can make ring.util.response/resource-response read a resource from the fileset instead of from the filesystem via :resource-paths?