Log of the #duraspace-ff channel on chat.freenode.net

Using timezone: Eastern Standard Time
* eddies1 joins01:48
* eddies1 leaves
* eddies1 joins
* eddies leaves01:50
* nbanks joins02:00
* nbanks leaves02:04
* kaarefc joins03:01
* kaarefc leaves03:05
* kaarefc joins03:06
* nbanks joins03:10
* kaarefc leaves03:43
* kaarefc joins04:05
* nbanks leaves04:06
* travis-ci joins04:07
[travis-ci] futures/fcrepo4#611 (master - acfb0f2 : Edwin Shin): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/291d0eb39d1c...acfb0f20148e
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7620097
* travis-ci leaves
* nbanks joins04:39
* eddies leaves04:40
* eddies joins04:51
* eddies leaves
* eddies joins
<fasseg>eddies: I will need some time in the future to clean up the fixity service and realy adapt it to the new API, it's quite the nightmare atm...05:03
a lot of unused infor is passed around and muliple requests are down when only one would be needed05:04
* ff-github joins05:25
[fcrepo-fixity] fasseg pushed 1 new commit to fixity-rdf: http://git.io/l41Hvg
fcrepo-fixity/fixity-rdf acf531a fasseg: fixed details response
* ff-github leaves
<fasseg>eddies: Id really like two days to clean this thing up and add some comments, it works atm but barely :/05:26
<bljenkins>Project fcrepo-fixity build #207: STILL FAILING in 1 min 16 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/207/
<fasseg>or at least one day tomorrow after the performance tests and the modeshape pull request?05:28
<eddies>fasseg: let's talk about it on standup—i want to see where the other tickets stand05:30
fasseg: but a day will probably be ok05:31
shoot. that just reminded me that i forgot to send out an email about the change in our thursday call
<fasseg>okay...thanks i might also invest some saturday time since ppl are coming to watch soccer here with my gf, which i dont like at all: https://www.youtube.com/watch?v=f27IqVo5-Oc05:32
modeshape 1710 pull request: https://github.com/ModeShape/modeshape/pull/83805:41
<pivotal-bot>Frank Asseg added comment: "Pull request is online at: https://github.com/ModeShape/modeshape/pull/838" https://www.pivotaltracker.com/story/show/4880472705:42
Frank Asseg added comment: "This is the original modeshape issue: https://issues.jboss.org/browse/MODE-1710" https://www.pivotaltracker.com/story/show/48804727
Frank Asseg accepted "Create a Git pull request for MODE-1710" https://www.pivotaltracker.com/story/show/48804727
<fasseg>hmm why accepted I only wanted to finish that ticket, shouldn't adam be accepting?!05:43
or are chores behaving this way?
can you invite frank.asseg@gmail.com plx?05:45
<eddies>chores don't have acceptance05:47
fasseg: invite for the calendar?
<fasseg>oh i got the calendar invite
i thought you only sent the inv to my private mail adress and i would have the wrong one in my gmail calendar05:48
but all's good
* eddies leaves06:01
* eddies joins06:08
* eddies leaves
* eddies joins
* github-ff joins06:18
[fcrepo4] eddies created metrics-revisited (+1 new commit): http://git.io/ui4JlA
fcrepo4/metrics-revisited 519f027 Edwin Shin: Uses latest fcrepo-snapshot build (3.0.0-RC1-SNAPSHOT) of metrics, which addresses...
* github-ff leaves
* github-ff joins06:21
[fcrepo4] eddies opened pull request #69: Uses latest fcrepo-snapshot build (3.0.0-RC1-SNAPSHOT) of metrics, which... (master...metrics-revisited) http://git.io/qECUJg
* github-ff leaves
<bljenkins>Project fcrepo-fixity-corrupter build #37: STILL FAILING in 48 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity-corrupter/37/06:36
<fasseg>eddies: for the modeshape pull request I should rebase our mode-1710 on their master right?06:41
<eddies>yes
<fasseg>kk
so this is good now: https://github.com/futures/modeshape/compare/ModeShape:master...mode-1710 ?06:52
<pivotal-bot>Frank Asseg added comment: "updated the pull request: https://github.com/ModeShape/modeshape/pull/839" https://www.pivotaltracker.com/story/show/4880472706:56
<fasseg>errg!! I just learned that today is a holiday in germany ;))07:32
but ill be at the meeting ;)
eddies: a test with creating 10 million new objects would take ~90 days with sequential curl calls07:49
* kaarefc leaves09:08
* awoods joins09:11
* kaarefc joins09:31
* barmintor joins09:48
* gregjansen joins09:55
<cbeer>all these jena classes are hard to keep straight :/10:11
* kaarefc leaves10:14
<barmintor>:P10:19
<cbeer>barmintor: i should have just said "no", rather than thinking to myself, "he has a point, let me check"10:20
<barmintor>I guess there's a value going forward to wrapping a 3rd party interface (Fedora 4.1: We switched from Jena!), but it's lousy to implement them10:21
cbeer: yes, you should always feel free to shoot down my dive-bombing, uninformed suggestions10:22
* github-ff joins10:24
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/qX6A-A
fcrepo4/master dfd4c12 Chris Beer: Merge pull request #69 from futures/metrics-revisited...
* github-ff leaves
* github-ff joins10:29
[fcrepo4] eddies deleted metrics-revisited at 519f027: http://git.io/bL7Jsg
* github-ff leaves
<nbanks>https://www.pivotaltracker.com/story/show/4901238910:33
<pivotal-bot>feature: Ensure REST API supports workspace identifier prefixes by adding tests (started) / owner: Nigel Banks
<nbanks>https://www.pivotaltracker.com/story/show/49012389
<pivotal-bot>feature: Ensure REST API supports workspace identifier prefixes by adding tests (started) / owner: Nigel Banks
* nbanks leaves
* nbanks joins
https://www.pivotaltracker.com/story/show/49012389
<pivotal-bot>feature: Ensure REST API supports workspace identifier prefixes by adding tests (started) / owner: Nigel Banks
<bljenkins>Project fcrepo-fixity-corrupter build #38: STILL FAILING in 37 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity-corrupter/38/10:38
* gregjansen1 joins10:45
* travis-ci joins
[travis-ci] futures/fcrepo4#613 (master - dfd4c12 : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/acfb0f20148e...dfd4c12ab7df
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7633464
* travis-ci leaves
* gregjansen leaves10:46
<cbeer>eddies: that metrics project seems like it's headed in a good direction, but keeping up with new development is such a pain
gregjansen1?10:47
<gregjansen1>hey, I was just looking for the hangout url. don't see it in wiki
is there a google plus group that I am meant to join or something?10:48
<barmintor>https://plus.google.com/hangouts/_/46ed3fe3f2d8606cbc4c4056cc8bb4cce9176ebc?authuser=0&hl=en
<cbeer>gregjansen1: there is10:49
eddies will invite you
fcrepo4: we're all moving to germany to get more holidays!10:50
<bljenkins>Project fcrepo4 build #722: UNSTABLE in 12 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/722/
* ajs6f1 joins10:52
Sorry I'm late. What's more, my headset appears to have died. Can someone dial me in at 434-243-8644?10:53
<cbeer>ajs6f1: i tried to call10:54
but i think we might have hit the hangout limit
<ajs6f1>I heard nothing...
Try again?
<cbeer>so you might need to drop
and i'll call you
<ajs6f1>Okay, I'll drop.10:55
<cbeer>or maybe it just doesn't work
<ajs6f1>I'm hearing nothing...
Are you hearing me?
And I'm in.
* github-ff joins10:57
[fcrepo4] cbeer pushed 1 new commit to http-component-injectors: http://git.io/D7iT0A
fcrepo4/http-component-injectors 8dd277a Chris Beer: rename classes and make the triple-providers create their own models
* github-ff leaves
<ajs6f1>https://github.com/ajs6f/node-goes-from-federated-to-ispn11:01
<pivotal-bot>Edwin Shin accepted "Create a timeout mechanism for transactions" https://www.pivotaltracker.com/story/show/4986661111:06
<cbeer>ajs6f1: can you mute locally?11:13
<ajs6f1>No. I'm on a phone. I'll hold my hand over the phone.11:14
* fasseg leaves11:29
* fasseg joins
<cbeer>and with that. conversation over.11:46
<eddies>http://www.w3.org/TR/2010/WD-sparql11-http-rdf-update-20100126/#http-put11:47
http://www.w3.org/TR/sparql11-http-rdf-update/#http-put
<pivotal-bot>Chris Beer added "Translate sparql/update queries with blank nodes into JQL queries to get nodes to update" https://www.pivotaltracker.com/story/show/5082487511:49
<ajs6f1>Now I"m getting hungry, too.
<pivotal-bot>Chris Beer added "Add PUT to the describe endpoint with a bag of triples to REPLACE existing triples" https://www.pivotaltracker.com/story/show/50824895
<cbeer>i made the mistake of looking at how to extract the sparql update parsing out of jena12:02
wow.
((com.hp.hpl.jena.sparql.syntax.ElementGroup)((UpdateModify)request.getOperations().get(0)).getWherePattern()).getElements().get(0)
and i'm not there yet.
<ajs6f1>Sounds like they didn't really intend for it to be "pluggable".12:04
<eddies>http://hm-json.ratfactor.com/browser.html#demo.php12:06
<cbeer>there's our lovely WADL: https://gist.github.com/cbeer/5e1d2071325f246cf2cf12:10
<ajs6f1>http://enunciate.codehaus.org/12:11
<cbeer>http://enunciate.codehaus.org/wannabecool/step1/resource_PersonaServiceImpl.html12:12
* Ed joins12:13
<cbeer>http://enunciate.codehaus.org/module_jersey.html12:14
<pivotal-bot>Chris Beer added "Add enunciate docs to the webapp" https://www.pivotaltracker.com/story/show/5082721912:17
Chris Beer added comment: "Scary: ((com.hp.hpl.jena.sparql.syntax.ElementGroup)((UpdateModify)request.getOperations().get(0)).getWherePa..." https://www.pivotaltracker.com/story/show/5082487512:18
Chris Beer edited "Add enunciate docs to the webapp" https://www.pivotaltracker.com/story/show/50827219
Chris Beer added "Update to metrics 3.0.0-rc1" https://www.pivotaltracker.com/story/show/5082740312:19
Chris Beer started "Update to metrics 3.0.0-rc1" https://www.pivotaltracker.com/story/show/50827403
Chris Beer accepted "Update to metrics 3.0.0-rc1" https://www.pivotaltracker.com/story/show/50827403
* Ed leaves12:20
<eddies>ajs6f1: do you know the "right way"/best practice for setting a ServletContext attribute12:21
?
<ajs6f1>Uh...12:22
<eddies>I have some code that is expecting to do a context.getAttribute. I thought I could use a ServletContextListener to create the object I need and set the attribute, but seem to be hitting a brick wall
<ajs6f1>That's what I would have tried first. Are you having difficulty getting a hold of the Servlet?
<eddies>i'm not trying to directly interact w/ a Servlet class. I just want to set an object that I create as a ServletContext attribute so that some other Servlets (outside of my control) can #getAttribute()12:24
* gregjansen1 leaves
<ajs6f1>Why can't you do that from the SevletContextListener? You should be impling a method that accepts a mutable Context, right?12:25
* github-ff joins12:27
[fcrepo4] cbeer force-pushed http-component-injectors from 8dd277a to 4f78eb8: http://git.io/e-Cx4A
fcrepo4/http-component-injectors 4f78eb8 Chris Beer: add a way for modules to inject triples into the describe responses for a resource (to add e.g. HATEOS responsess)
* github-ff leaves
<eddies>ajs6f1: i think i *should* be able to do it from the contextlistener. it just doesn't seem to be working which is why i asked. maybe it's just a spring/jersey thing…i'll troubleshoot some more12:28
<ajs6f1>Yeah, I think we need to find out why it's not working, because I think you're definitely trying to right thing.12:29
afk bbi20ish
* fasseg leaves12:31
<awoods>The conversation about potentially long-lasting transactions from the committer's call raised a question: Do we want the newly added transaction timeout approach to stay alive if there is activity within the transaction? Otherwise, the user will need to know to increase the fcrepo4.tx.timeout system property in certain cases.12:40
<barmintor>awoods: activity in the transaction resets the timeout12:41
<awoods>there we go
barmintor: by "activity", you mean "commit"12:42
<barmintor>awoods: no- when you create an object with a transaction, it sets the expiration date anew
when you commit a transaction, it closes it completely
<awoods>barmintor: Thanks, just seeing the Transaction.updateExpiryDate()12:44
<barmintor>awoods: no problem12:45
<cbeer>fasseg is the only person who looked at jcr versioning right?12:49
<barmintor>cbeer: I didn't seriously look into it aside from trying (and failing) to fake it for connectors12:53
<cbeer>ok. i'm actually trying to use it to get my last rubydora tests passing'12:54
and i think our implementation is.. incomplete.
it looks like we need to explicitly checkout and checkin objects in order to get versioning to happen12:55
<ajs6f1>Isn't that JCR spec?
* barmintor shrugs
<cbeer>yeah. and we didn't do it
but there's also a #checkpoint method
<ajs6f1>Oh, I get you.
<cbeer>which may let us be lazy
<ajs6f1>I didn't know we'd done _anything_ with versioning.
<cbeer>but apparently no one does anything with jcr versioning
* github-ff joins12:56
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/2ZxnVA
fcrepo4/master 4d0c181 Chris Beer: use our fcrepo helpers to wrap the graph update
* github-ff leaves
<cbeer>ajs6f1: anyway.. i was also trying to figure out if versioning was something that should happen in kernel or in the HTTP API12:57
and i'm leaning toward the HTTP API just to keep things easy
<ajs6f1>Urg. I would say that kernel is the right place for it to happen, but let me ask: why is it easier in http-api?12:58
<cbeer>ajs6f1: from the examples, it looks like you do the checkin after you save
<eddies>cbeer: is the MetricsServlet class you wrote only different from the metrics-provided in that you are grabbing our instance of MetricsRegistry?
<ajs6f1>Arg.
<cbeer>eddies: yes.
<ajs6f1>Tha's quite annoying.
<eddies>ok. then i think i have this sorted and can nuke it
<ajs6f1>Maybe we can expose checkin on the model classes, right FedoraResource?12:59
s/right/like
<cbeer>ajs6f1: could.. although jcr deprecated checkin/checkout on nodes for some reason
i'm still trying to understand why they did, and if doing it that way ourselves is a step back
<ajs6f1>It's on Version objects?
<cbeer>VersionManager13:00
oh, i bet it's on VersionManager so you can 'version' deleted objects13:02
<ajs6f1>Right. And that's not an object that is associated to any given node, right? There's just one?
<cbeer>associated with the workspace13:03
<ajs6f1>Maybe we could wrap the logic for using VersionManager into FedoraResource, via its backing Node?13:04
Or would that be a problem in a transactional context with multiple agents competing to update a resource...?13:09
* github-ff joins13:10
[fcrepo-kitchen-sink] eddies pushed 1 new commit to master: http://git.io/iPD-fA
fcrepo-kitchen-sink/master 1afe622 Edwin Shin: Supplies a JAX-RS Provider for metrics-jersey that uses SharedMetricRegistries...
* github-ff leaves
<cbeer>eddies++
i don't know how fasseg was getting 700ms to create an object13:11
<eddies>sleep 600ms? =)
<bljenkins>Yippie, build fixed!13:12
Project fcrepo4 build #725: FIXED in 16 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/725/
Chris Beer: use our fcrepo helpers to wrap the graph update
<barmintor>cbeer: is there an identifier associated with a MODE cluster member?13:13
<bljenkins>Project fcrepo-fixity-corrupter build #39: STILL FAILING in 46 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity-corrupter/39/
<cbeer>barmintor: with the jgroups cluster member, definitely. i don't know how that gets exposed up the stack
<barmintor>I don't think there's anything on the events themselves that indicates what the source cluster member is
and I need to both propagate that in the event and make it avail. to the filter13:14
<cbeer>barmintor: "Note that the JCR API lets you define whether each listener is interested in local-only events."
<barmintor>but there *is* a different changebus for clustered repo's, so that's something
cbeer: where is that?13:15
<cbeer>barmintor: some forum post i found from rhauch
<barmintor>Hmm...
<cbeer>https://community.jboss.org/message/647861
so maybe we're listening to the wrong thing
<bljenkins>Project fcrepo-kitchen-sink build #335: SUCCESS in 5 min 54 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/335/13:16
<barmintor>"If the noLocal parameter is true, then events generated by the Session through which the listener was registered are ignored."13:18
that's related to what we want...
<ajs6f1>Isn't that available from the method that registers a listener with the observation manager?13:21
<barmintor>ajs6f1: It is, but it's not what we want. We want to filter events that originate on different cluster members.13:22
<ajs6f1>Actually, the existence of noLocal would finally explain why there's a non-ISPN "cluster cnofig" for MODE.
It would help MODE act on noLocal.
barmintor: What _kind_ of cluster? ISPN cluster/13:23
<barmintor>noLocal isn't to do with clusters, though. it's to do with sessions
<ajs6f1>s/\//?
Oh, it is? Never mind.
{sigh}
<barmintor>yeah, it's a very confusing parm name
<ajs6f1>barmintor: What worries me is that JCR semantics simply don't contemplate clustering.13:28
-> The JCR API cannot produce evidence useful to distinguish between (our) local and non-local.13:29
-> Because our (Fedora) EventBus is fed by the JCR API, we may not be able to distinguish either.
We may have to penetrate the JCR layer… _again_.
<cbeer>hm. then i wonder what rhauch meant by that
<barmintor>cbeer: I think he meant the session-thing13:30
"local" means "local to this session"
* github-ff joins
[fcrepo4] eddies pushed 1 new commit to master: http://git.io/Vu8iOQ
fcrepo4/master 96bb703 Edwin Shin: Cleans up some unused imports
* github-ff leaves
<ajs6f1>cbeer: You don't happen to have the link in your browser history?13:31
<cbeer>https://community.jboss.org/message/647861
<barmintor>yeah, I'm not sure. He might just be misinterpreting the docs13:33
but let me check the MODE impl and see
<cbeer>any last comments on https://github.com/futures/fcrepo4/pull/68?
<eddies>not one, but 5 metrics servlets at one convenient location: http://fcrepo4.fcrepo.org/fcrepo/metrics13:34
<barmintor>SHIP IT
<eddies>although i don't quite grok what healthcheck is supposed to give us
<awoods>cbeer: looks good
<ajs6f1>Glucose levels, cholesterol , that sort of thing.13:35
<cbeer>shipped.
eddies++
eddies++
(now where's my RDF serialization of that data!?)
* github-ff joins13:36
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/9OAVIw
fcrepo4/master ba7b5bc Chris Beer: add a way for modules to inject triples into the describe responses for a resource (to add e.g. HATEOS responsess)
* github-ff leaves
* github-ff joins
[fcrepo4] cbeer deleted http-component-injectors at 4f78eb8: http://git.io/85B7tw
* github-ff leaves
<awoods>What is the mechanism for "registering" my pid namespaces?13:38
<cbeer>SPARQL/Update requests, of course!13:39
(let me find the IT)
eddies: "HealthCheckServlet responds to GET requests by running all the [health checks](#health-checks) and returning 501 Not Implemented if no health checks are registered, 200 OK if all pass, or 500 Internal Service Error if one or more fail. "
which would have been faster if github wasn't flaky13:40
<eddies>cbeer: i guess i haven't registered any health checks then
<cbeer>awoods: see FedoraNamespacesIT
<awoods>cbeer: thanks
<eddies>ah i see: http://metrics.codahale.com/getting-started/#health-checks
<cbeer>eddies: eben from the BPL was at our boston meeting, right?13:41
<eddies>i think so
<cbeer>we didn't take very good notes13:42
<ajs6f1>Why is Github being all like _that_? Sometimes I forget how dependent I am on resources thousands of miles away to conduct the most basic operations of my quotidian work.13:43
<cbeer>I know, let's host our own git repositories!13:44
<ajs6f1>cbeer: I took awesome notes. They say, "There sandwiches are awful. I feel badly for these folks. I wish I could go outside and smoke. That looks like a really nice patio out there. Where did Chris go? How did he sneak out? That clever bastard!"13:45
<cbeer>well, i guess with github out, this is as good a time as any to actually make it to the office this week
<barmintor>Ok, ChangeSet.getProcessKey returns (apparently) a Session ID13:46
Since our listeners are registered in a single session, that should… never mine
crap13:47
<ajs6f1>If Sessions have IDs, maybe fasseg's transactions code could have used that to keep track of 'em...
Or maybe it did… checking...
<bljenkins>Project fcrepo4 build #727: FAILURE in 29 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo4/727/
<barmintor>ajs6f1: mode.JcrSession extension13:48
<ajs6f1>barmintor: It seems like the thing that Transaction brings to Session is JAXB serialization.
<barmintor>ajs6f1: how much code does that justify? Should transaction be a subclass of Session?13:49
<ajs6f1>barmintor: I have lost all compunction about MODE vs. JCR.
Drive it like you stole it.
<barmintor>well, that's probably where we should get TX keys from, then13:50
but it doesn't help me filter event
* travis-ci joins
[travis-ci] futures/fcrepo4#617 (master - 96bb703 : Edwin Shin): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/4d0c181a19bd...96bb7037b711
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7639605
* travis-ci leaves
<ajs6f1>Events are annoying because they are "encapsulated"— they have no immediate references back into the context that produced them.13:51
Annoying for this purpose, that is.
I'm sure that quality helps a lot with scaling.
<bljenkins>Project fcrepo-fixity-corrupter build #40: STILL FAILING in 4 min 16 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity-corrupter/40/
<ajs6f1>barmintor: A subclass… hm. Have to think hard about that. There's our code, and there's MODE's code...13:52
<barmintor>Oh, okay: Since our sessions don't transport between cluster members, maybe I can check some Session manager to see if the changeset's originating session is local
ajs6f1: Think of it as a subclass that delegates everytinhg to MODE's session
<ajs6f1>Yeah, I get the pattern of work. I'm wondering about the type system— is this a subclass, or is this a proxy...?13:53
<barmintor>Well, it's a proxy that implements jcr.Session, of course13:54
:P
<ajs6f1>barmintor: are you sure our sessions don't move between nodes? I wonder about the whole MODE clustering thing (not the ISPN cluster, that is).
<barmintor>ajs6f1: No, I'm not sure
<ajs6f1>Right. It's a proxy. That does not imply a subclass.
E.g. we might use DYNAMIC PROXYING!~
(I've been waiting for weeks for a chance to bust that out.)13:55
<barmintor>...
<ajs6f1>Seriously, if we are confident that everywhere that
we now see JcrSession, we could just as well put our type that carries cluster-related info with it...
then yes, a subtype.13:56
* travis-ci joins13:57
[travis-ci] futures/fcrepo4#618 (master - ba7b5bc : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/96bb7037b711...ba7b5bc48ced
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7639748
* travis-ci leaves
<barmintor>I think what we will want to do is have transactions be created with POST to FedoraTransactions (as it is now)13:59
but then have the operations *within* a transaction happen… somehow else
maybe you indicate the tx-id in a header, and the session injection code gives you a wrapper that ignores your calls to session#save14:00
<ajs6f1>Hm. That seems a little oblique to me.
<barmintor>Well, let me convince you with a single question:
<ajs6f1>Why a duck?
<eddies>awoods: what's the dial in for our call?14:01
<barmintor>"HOW DO I USE TRANSACTIONS IN WORKSPACES OVER THE REST API?"
<awoods>eddies: Dial-in Number: +1 (209) 647-1600
Participant Code: 117433
<ajs6f1>Doesn't fasseg's branch do that?
It doesn't?
<barmintor>I don't think so
<eddies>awoods: danke
<ajs6f1>Oh, that's not cool. It's the workspaces thing?14:02
<barmintor>https://github.com/futures/fcrepo4/blob/master/fcrepo-http-api/src/main/java/org/fcrepo/api/FedoraTransactions.java#L113
ajs6f1: yeah, the ws thing
<ajs6f1>Well, nbanks wil fix that with his "workspaces into REST" branch. Right? Right, nbanks?14:03
* gregjansen joins
* barmintor looks over to nbanks
ajs6f1: regardless, I think we want a way to make that TX-wrapped session available to the "normal" api code14:04
and not try to reproduce everything in a special TX api
<ajs6f1>Oh, hell, no. We do _not_ want to go down that road. I thought we weren't...
We are?14:05
<barmintor>Aren't we?
maybe FedoraTransactions#createOBjectInTransaction is just demo code?
I bet the Product Manager knows14:06
<ajs6f1>Oh, foo. I didn't know we were setting up a whole parallel API.
<barmintor>maybe we won't/aren't/etc
<ajs6f1>Yeah, yeah. But we need to clear this up/ get on the road we really want to travel.14:07
<barmintor>but if we don't, we have to provide a way for the various operations to know whether to prersist or not
<ajs6f1>Did fasseg already go on vacation?
<barmintor>I think so, yeah
<ajs6f1>No, as far as I'm concerned, I don't think we can maintain two totally parallel APIs. That's a freeway to nowheresville.14:08
<cbeer>iirc, createOBjectInTransaction was just to prove it worked14:13
because we don't have a way to inject the wrapped session everywhere14:14
<barmintor>ok- and presumably didn't want to revisit the persistence question14:18
<ajs6f1>Actually, what I would want to do is abstract the operations, in a pattern y'all have seen elsewhere (where you end up with types like AddDatastream < Operation). Java's lack of variance makes that uglier than maybe needed, but it could go completely around this "how many APIs" question, but I don't think we've refined our thinking nearly enogh to do that now.
<barmintor>ajs6f1: you wouldn't just rather the Session injection machinery pull your TX-Session out for you?14:19
that seems much lower-overhead
<ajs6f1>Yeah, I'm fine with that. I'm thinking about other possible cross-cutting concerns.
But I think that's a fine way to go forward.14:20
<barmintor>cbeer: do you know, offhand, whether Jcr Sessions are moved around the jgroups members?
<cbeer>barmintor: i believe they either are, or your question doesn't make any sense.14:45
(i say that because i'm not actually sure if session changes are actually persisted in JCR at all)14:49
<barmintor>cbeer: I was just asking whether a session from member A, if it's left open, is available on member B14:58
<cbeer>ok, then, either they are (because that's just how they work) or they aren't (because there's no 'there' there)14:59
i suspect the latter.
<barmintor>cbeer: so that might be good for event filtering (we can see if the originating session is around), but bad for transactions (we have to steer you to the same node)15:00
node == cluster member, ofc
* nbanks leaves15:05
* kaarefc joins15:31
* nbanks joins15:32
<barmintor>cbeer: is the node filtering worth hacking it into a MODE fork? I don't see a way to do it w/o plumbing the ChangSet impl.15:36
<ajs6f1>The 1710 impl, or the one already there?15:37
<eddies>barmintor: you want to slot some time tomorrow to go over your slides?
<barmintor>eddies: yes, please15:38
ajs6f1: I think we would be very rude to MODE to add this stuff into the 1710 branch
<ajs6f1>No, I mean is the 1710 branch change set stuff preventing you from doing the filtering?15:39
<barmintor>Oh! I doubt it- I need to add something
<eddies>barmintor: i'm waiting to hear back if/when i have a call tomorrow afternoon, but let's plan for some time post-standup
<barmintor>eddies: sure thing, thank you so much!
* nbanks leaves15:40
<barmintor>ajs6f1: I need to add the jgroups source address to the Changeset props.
I also need to find out how to get to MODE's jgroups whatnot, but w/e15:41
<ajs6f1>But not in the Connector code that fasseg and I turned out? Good.
<barmintor>No, I don't believe so
Maybe I should head to #modeshape15:42
<ajs6f1>No, as long as you're not thinking up new work for me, you're on the right track.15:43
<barmintor>Hmm, maybe there isn't any id based session mgmt15:52
cbeer is right, they're really just node cache wrappers
damn
<ajs6f1>Every Session is just a wrapper for a node-cahce?15:53
<barmintor>it's a collections of caches15:54
<ajs6f1>Multiple caches -> one Session? Oh, never mind. I'm just bugging you for no good reason. I should read the source myself.15:55
<cbeer>rather than doing real work, i'm going to move our string-literal predicates into some centralized place.16:10
because i'm sick of trying to remember what they are
* nbanks joins
<barmintor>cbeer: isn't there a ticket for that? it counts as work.16:11
<cbeer>i know there's ajs6f1's ticket to express them downstream
<ajs6f1>Not even downstream, just formally (in a schema available via HTTP).16:13
Unless that's what you meant by downstream.
afk bbi20-ish, maybe 30.
<gregjansen>the /objects path is a real node now, right? How is it initialized?16:16
<barmintor>gregjansen: bootstrapped in the spring bean factory16:17
<gregjansen>ah thx16:18
<barmintor>https://github.com/futures/fcrepo4/blob/master/fcrepo-kernel/src/main/java/org/fcrepo/spring/ModeShapeRepositoryFactoryBean.java#L4516:19
* kaarefc leaves16:20
<gregjansen>barmintor: I see /federated, which answers my next question
<barmintor>cbeer: is it acceptable if the cluster members send the duplicate messages, but the ActiveMQ queue rejects them?16:24
<cbeer>barmintor:
good enough for me.
ajs6f1: know anything about http://marmotta.incubator.apache.org/?16:28
<eddies>you know, every time someone complains that fedora is hard to install, i say we make them install graphite
cbeer: where are you setting system properties for the kitchen-sink webapp that runs on futures6?16:47
<cbeer>eddies: /etc/default/tomcat7
<eddies>(the -Dxxx properties)
cbeer: thanks
<ajs6f1>cbeer: Yeah, it's the project formerly known as LMF. They did some really good stuff, like LDPath:16:54
https://code.google.com/p/ldpath/
and some nice work building Solr machinery to handle Linked Data.
Apache Stanbol uses the heck out of that stuff.
I think they (like Stanbol) were connected with the EU IKS project.16:55
(Like Apache Clerezza, too.)
I kind of think of them as a semantic store that is far more concerned with being a good citizen of the Web than are most.16:56
I don't know what kind of scaling behavior their persistence layers can achieve, tho'.16:57
LDPath alone, tho', is worth the price of admission. :)
I taught a student to use it for a geospatial feature extraction/reconciliation project in about a day. Try that with Sparql.16:58
<cbeer>cool, thanks. folk here are trying to choose between 4store and that for a project16:59
<ajs6f1>Hm. As usual, depends on what they want to do with it. :)17:00
<cbeer>and that part's not clear, naturally.
<ajs6f1>And so it goes...
<cbeer>but written by people who do stuff for solr makes it more attractive17:01
<ajs6f1>Maybe we should switch from MODE to LMF.
plus Lily, of course.
<cbeer>it's always nice when refactoring things finds bugs.17:10
not so nice is the very last test in the suite failing.17:21
* github-ff joins17:23
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/ILSvHg
fcrepo4/master 4735d28 Chris Beer: use an RDF Lexicon to contain consts for all of our made-up predicate values
* github-ff leaves
<ajs6f1>Just makes it all the sweeter when it passes.17:24
<barmintor>ok, I give up17:25
<ajs6f1>cbeer: Good on you for extracting the literals (above commit). WDYT of eventually including a well-known form like RDFS (like I started) in the source and loading all the predicates from that.
<barmintor>the only way I can think to do this is to register the SimpleObserver on session login17:26
<ajs6f1>barmintor; Eh? What are you trying to get into the SimpleObserver?
Something to do with cluster identities?17:27
<barmintor>only the local cluster member's changes
<ajs6f1>Right, so you're trying to filter? We have an abstraction for that. It gets wired in at startup. Maybe it needs to be looked up at runtime (as part of observation)?17:28
During runtime, I should say.
<barmintor>ajs6f1: Err… yes. That is what I cannot think of another way to do17:29
The local cluster members don't have unique id
<ajs6f1>If a Session is linked to a cluster member, then… I guess that's just what we have to do.17:30
<barmintor>s as far as MODE is concerned
as an aside, I also don't know how we can get TX as-written to work with clusters
* barmintor shrugs
<ajs6f1>%*%*&%^
Because Sessions stay with cluster nodes?17:31
<cbeer>ajs6f1: sounds good to me. phase 2 :)
<ajs6f1>cbeer: Yep. Just giving myself a sanity check.
<barmintor>ajs6f1: AFAIK
* gregjansen leaves
<cbeer>so.. back to thinking about workspaces?
<ajs6f1>cbeer/barmintor: If we're still not totally sure whether Sessions are sticky to cluster nodes, it seems to me that we've _got_ to resolve that question.17:32
<cbeer>let me dive into the code. i'm feeling more and more certain that sessions aren't anything but in-memory state
<barmintor>cbeer: that's what it looks like to me17:33
<cbeer>(and, obviously, binary data serialized to disk)
<barmintor>cbeer: it's basically a wrapper on some cached nodes
<ajs6f1>Double *&)*&). Then what on Earth is the meaning of MODE's clustering (as opposed to ISPN's clustering)?17:34
<cbeer>ajs6f1: "send change messages everywhere"
<barmintor>ajs6f1: when changes are persisted it sends deltas
(what cbeer said)17:35
<bljenkins>Yippie, build fixed!
Project fcrepo4 build #728: FIXED in 12 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/728/
* Chris Beer: add a way for modules to inject triples into the describe responses for a resource (to add e.g. HATEOS responsess)
* Chris Beer: use an RDF Lexicon to contain consts for all of our made-up predicate values
<barmintor>Oh17:36
OH HO HO
<bljenkins>Project fcrepo-fixity-corrupter build #41: STILL FAILING in 37 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity-corrupter/41/
<barmintor>https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/java/org/modeshape/jcr/JcrXaSession.java17:37
<ajs6f1>I thought ISPN did the delta distribution?
<eddies>IT'S ALIVE
http://graphite.fcrepo.org/
<barmintor>ajs6f1: no, it builds a quqeue of events and sends them to a jgroups channel
<cbeer>eddies++
(but that's it -- no more karma for metrics work!)17:38
<ajs6f1>And other MODE nodes consume that channel?
<barmintor>ajs6f1: yes
<cbeer>(well, no. ISPN does.)
<barmintor>and then shunts them off to the ObservationManager's listeners17:39
<ajs6f1>Okay, enough IRC. Maybe we can circle around this briefly tomorrow?
<eddies>heh. and i'm so done w/ this. i leave further instrumentation to my highly talented peers
time for bed
<cbeer>that's actually an impressive amount of data we're gathering
<ajs6f1>'Cause I feel like I understand less now than I thought I knew I understood when I thought I understood things.
eddies; So we're going to use this live at OR to show off performace, right?17:40
:)
<cbeer>just as long as it isn't on fasseg's laptop.
<ajs6f1>I'm out, too See y'all soon.17:41
* ajs6f1 leaves
<awoods>cbeer: RdfLexicon is nice17:43
* travis-ci joins17:45
[travis-ci] futures/fcrepo4#619 (master - 4735d28 : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/ba7b5bc48ced...4735d2873887
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7646365
* travis-ci leaves
<barmintor>Ok, that's it for today. I'l try again tomorrow. I think our transaction will work if we config MODE to use XA-backed sessions. The EventBus thing is more complicated.17:46
* barmintor leaves17:47
<pivotal-bot>Chris Beer started "Support conditional PUT requests" https://www.pivotaltracker.com/story/show/4967150517:55
Chris Beer finished "Support conditional PUT requests" https://www.pivotaltracker.com/story/show/4967150518:25
<awoods>cbeer: that was quick turn-around
<cbeer>awoods: turns out it only makes sense in one place
we don't have object-level etags18:26
(i guess it could just use last modified.)
<awoods>assuming object-level last-modified bubbled up from the datastreams18:27
<cbeer>not sure it matters. presumably you're changing the properties of the object you have in-hand18:28
<awoods>no, that's right
<cbeer>when i briefly looked at versioning today, i did think about iterating over the updates and pulling out all the node-subjects18:30
maybe it's unavoidable
* nbanks leaves18:36
<cbeer>@karma18:39
<pivotal-bot>Highest karma: cbeer (22), ajs6f (16), barmintor (13)
Lowest karma: this_discussion (-2), tomcat (-3), metrics (-4)
<cbeer>1/2 the time writing the code, 2/3 the time getting the unit tests passing18:42
* github-ff joins18:53
[fcrepo4] cbeer pushed 2 new commits to master: http://git.io/fODN1w
fcrepo4/master c6368e4 Chris Beer: add conditional PUT to fcr:content
fcrepo4/master abcd5ef Chris Beer: add conditional PUT for fcr:content and describe updates
* github-ff leaves
<pivotal-bot>Chris Beer delivered "Support conditional PUT requests" https://www.pivotaltracker.com/story/show/49671505
Chris Beer added comment: "https://github.com/futures/fcrepo4/commit/abcd5ef7d195b12db380dc5263a65211867841b7" https://www.pivotaltracker.com/story/show/4967150518:54
Chris Beer edited "Support conditional PUT requests" https://www.pivotaltracker.com/story/show/49671505
Chris Beer added "Extract predicate literals into a centralized location in fcrepo-kernel (for ease of changing when we know what the pr..." https://www.pivotaltracker.com/story/show/5085630118:55
Chris Beer estimated "Extract predicate literals into a centralized location in fcrepo-kernel (for ease of changing when we know what th..." https://www.pivotaltracker.com/story/show/50856301
Chris Beer started "Extract predicate literals into a centralized location in fcrepo-kernel (for ease of changing when we know what the ..." https://www.pivotaltracker.com/story/show/50856301
Chris Beer finished "Extract predicate literals into a centralized location in fcrepo-kernel (for ease of changing when we know what the..." https://www.pivotaltracker.com/story/show/5085630118:56
Chris Beer added comment: "https://github.com/futures/fcrepo4/commit/4735d2873887f51342c00893ff8011fa21e36922" https://www.pivotaltracker.com/story/show/50856301
Chris Beer added comment: "https://github.com/futures/fcrepo4/commit/4735d2873887f51342c00893ff8011fa21e36922#L11L-1" https://www.pivotaltracker.com/story/show/5085630118:57
Chris Beer delivered "Extract predicate literals into a centralized location in fcrepo-kernel (for ease of changing when we know what th..." https://www.pivotaltracker.com/story/show/50856301
Chris Beer delivered "Tidy up HTML implementation to ensure all data we want "designed" is exposed" https://www.pivotaltracker.com/story/show/50741659
<bljenkins>Project fcrepo4 build #729: UNSTABLE in 7 min 59 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo4/729/19:01
* Chris Beer: add conditional PUT to fcr:content
* Chris Beer: add conditional PUT for fcr:content and describe updates
* travis-ci joins19:11
[travis-ci] futures/fcrepo4#620 (master - abcd5ef : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/4735d2873887...abcd5ef7d195
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7648708
* travis-ci leaves
* nbanks joins19:37
* nbanks leaves19:43
* awoods leaves22:38
* nbanks joins22:39
* nbanks leaves22:44
* awoods__ joins23:44
* awoods__ leaves23:56
* github-ff joins00:15
[ff-jmeter-madness] awoods pushed 1 new commit to master: http://git.io/4sUkLg
ff-jmeter-madness/master 7aec84d Andrew Woods: Update jmeter tests for current REST API.
* github-ff leaves
<pivotal-bot>Andrew Woods added comment: "Resolved with: https://github.com/futures/ff-jmeter-madness/commit/7aec84d7a82b16c5715b8c8841198739515e6a31" https://www.pivotaltracker.com/story/show/5000812700:16
Andrew Woods finished "Update JMeter test plan to work against current REST API" https://www.pivotaltracker.com/story/show/5000812700:17
* nbanks joins00:40
* nbanks leaves00:44
* kaarefc joins00:54
* kaarefc leaves00:59
* kaarefc joins01:02
* kaarefc leaves01:06
* nbanks joins01:12
* kaarefc joins01:14
* kaarefc leaves01:21
* kaarefc joins01:24
* kaarefc leaves01:37
* kaarefc joins01:42
* kaarefc leaves01:54

Generated by Sualtam