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

Using timezone: Eastern Standard Time
<pivotal-bot>Edwin Shin delivered "Rolling upgrades" https://www.pivotaltracker.com/story/show/4556530305:56
Edwin Shin edited "BagitConnector should do fedora:owned" https://www.pivotaltracker.com/story/show/4821528506:08
* github-ff joins06:21
[ff-jmeter-madness] nigelgbanks opened pull request #1: Dev (master...dev) http://git.io/VXgeKw
* github-ff leaves
* kaarefc leaves06:44
* kaarefc joins
* eddies leaves06:50
* fasseg leaves06:52
* fasseg joins06:53
* motron[ph] joins
* motron[ph] leaves
* kaarefc leaves07:17
* eddies joins07:19
* eddies leaves
* eddies joins
* kaarefc joins07:23
* kaarefc leaves07:30
* kaarefc joins07:33
* eddies leaves07:49
* github-ff joins08:07
[fcrepo4] fasseg created jersey-grizzly (+1 new commit): http://git.io/2cpdiQ
fcrepo4/jersey-grizzly ce65d71 fasseg: added integration test infrastrucutre and switched fcrepo-legacy-api to a jersey impl
* github-ff leaves
* eddies joins08:14
* eddies leaves
* eddies joins
* ppound joins08:21
* nbanks leaves08:26
* nbanks joins08:27
* nbanks leaves08:31
* nbanks joins
* anusha joins08:34
<bljenkins>Project fcrepo-kitchen-sink build #176: SUCCESS in 6 min 7 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/176/08:37
Project fcrepo-fixity build #167: SUCCESS in 5 min 36 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/167/08:39
* VincentNG joins08:45
* jcoyne joins08:51
<fasseg>barmintor: are you there? Can you tell me why the URI segements get encoded here: https://github.com/futures/fcrepo4/blob/master/fcrepo-http-api/src/test/java/org/fcrepo/api/TestHelpers.java#L52? Since I would like to get rid of resteasy depenedencies...08:54
* jcoyne leaves08:55
<fasseg>oh no i see this is for conetxt injetcion in the tests...08:58
* anusha_ joins09:02
* anusha leaves
* anusha_ leaves09:20
* anusha joins
* ap2972 joins09:22
* ajs6f joins09:39
* fasseg leaves09:58
<eddies>anusha: are you joining us?10:02
* fasseg joins
<anusha>yes
<eddies>https://plus.google.com/hangouts/_/46ed3fe3f2d8606cbc4c4056cc8bb4cce9176ebc10:03
* ajs6f leaves
* ajs6f joins10:04
<eddies>anusha: we're just waiting on you :P10:05
<cbeer>ok, i'm here for an hour or so10:12
* kaarefc leaves10:17
<barmintor>fasseg: We need a UriInfo impl for test support. I don't care which one it is, as long as we can test- the restEasy impl was just available on the classpath.
<fasseg>yeah i saw that, i just mocked out a UriInfo and a UriBuilder using the mockito framework..10:18
and it seems to work fine
<cbeer>https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/java/org/modeshape/jcr/value/binary/BinaryStore.java10:19
* anusha_ joins10:23
* anusha leaves
<cbeer>for a quick policy-driven storage, what about using the ISPN CloudCacheLoader (into S3) and configure policies there?10:27
<pivotal-bot>Chris Beer added "Test Infinispan cross-site replication feature" https://www.pivotaltracker.com/story/show/4824785110:29
<ajs6f>No comment.10:30
What Ben said.10:31
<barmintor>Fedora 4: "What Ben Said."10:32
<cbeer>https://github.com/futures/fcrepo4/blob/master/fcrepo-webapp/src/main/resources/config/infinispan_configuration_chained.xml#L5810:33
https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/java/org/modeshape/jcr/value/binary/infinispan/InfinispanBinaryStore.java10:35
https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/java/org/modeshape/jcr/value/binary/infinispan/InfinispanBinaryStore.java#L188
<barmintor> "Could not clone node testDS - This operation requires that the node be versionable (that is, isNodeType("mix:versionable") == true)"10:37
<VincentNG>I saw that before. are there properties associated with that testDS? does it have "fedora:datastream" mixin?10:38
<barmintor>[fedora:datastream] > fedora:resource, nt:file mixin10:40
yes, it (now) has the fedora:datastream mixin
but it needs mix:versionable
<VincentNG>ya, if it has "fedora:datastream" mixin then it needs "mix:versionable"10:41
<barmintor>cbeer: did that sound reasonable?10:51
(assuming we can get connectors to work)
<cbeer>barmintor: i don't disagree. i would like us to spend time hacking around MODE/ISPN though10:52
because of what eddie just said.
<barmintor>+1
<cbeer>i wonder if you should pursue connectors this week, and we can shift to binary stores for a day next week10:53
timebox the work, etc, etc
<barmintor>technically, I'm not on this sprint, so when I get the bagit thing working I need to work for Columbia for a couple of days10:54
but I think that approach would be good
<cbeer>maybe we're far enough along on connectors to make a reasonable comparison between the approaches
VincentNG: are https://www.pivotaltracker.com/story/show/48215375 and https://www.pivotaltracker.com/story/show/48200901 duplicates?10:56
<pivotal-bot>feature: Mixins should have some kind of object that takes care of their properties. (unstarted) / owner:
<cbeer>or near-duplicates?
<VincentNG>cbeer: near-duplicates. the concept is the same...to define required properties on nodetypes10:57
<pivotal-bot>Chris Beer edited "Sprint 7: Policy Driven Storage (3 Apr - 16 Apr)" https://www.pivotaltracker.com/story/show/4568841110:58
Chris Beer edited "Sprint 7: Policy Driven Storage (3 Apr - 16 Apr)" https://www.pivotaltracker.com/story/show/45688411
Chris Beer added "Policy-driven Infinispan-backed cache" https://www.pivotaltracker.com/story/show/4825133711:04
Chris Beer edited "Policy-driven BinaryStore-backed cache" https://www.pivotaltracker.com/story/show/4825133711:05
Chris Beer added comment: "I wonder if the BinaryFactory is a better layer to work on: https://github.com/ModeShape/modeshape/blob/maste..." https://www.pivotaltracker.com/story/show/4825133711:07
<ajs6f>http://www.day.com/specs/jcr/1.0/7.1.7_Moving_and_Copying.html11:08
<barmintor>cbeer: that find method is promising11:09
<cbeer>it sure sounds nice
<barmintor>since it suggests we made the key upstream
<cbeer>and we do.
but the binarykey factory is locked away from us11:10
<barmintor>I bet we can fix that
<cbeer>so we'd have to do some work in MODE
https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/java/org/modeshape/jcr/value/BinaryKey.java#L65
i think
<barmintor>worth noting that that method is handled, but BinaryKey has public constructor11:11
* jcoyne joins
<cbeer>yup. i think we're using it in the low-level cache entry stuff too11:12
<barmintor>yeah
<cbeer>i'd need to pull out an IDE to dive any deeper
<pivotal-bot>Chris Beer estimated "Policy-driven BinaryStore-backed cache" as 8 points https://www.pivotaltracker.com/story/show/4825133711:14
Chris Beer added "Policy-driven BinaryKey generator" https://www.pivotaltracker.com/story/show/48252257
<cbeer>ok, i need to drop too11:15
* fasseg leaves
<pivotal-bot>Chris Beer added comment: "This might get nasty.. i don't even want to think about implications of changing policies." https://www.pivotaltracker.com/story/show/48252257
Edwin Shin added "Copy node from federated filesystem to Infinispan cache" https://www.pivotaltracker.com/story/show/4825242311:17
Edwin Shin edited "Copy node from federated filesystem to Infinispan cache" https://www.pivotaltracker.com/story/show/48252423
Edwin Shin edited "Sprint 7: Policy Driven Storage (17 Apr - 30 Apr)" https://www.pivotaltracker.com/story/show/4568841111:18
* kaarefc joins
<pivotal-bot>Edwin Shin added "Copy node from one Infinispan cache to another" https://www.pivotaltracker.com/story/show/4825268711:21
Edwin Shin edited "Copy node from one Infinispan cache to another" https://www.pivotaltracker.com/story/show/48252687
<cbeer>eddies: i'm missing the conversation, but that ticket doesn't make sense to me
oh, named cache
then we need a prerequisite ticket of.. actually having multiple named caches
<pivotal-bot>A. "Forbulo" Soroka added "Half-assed story for policy-driven storage" https://www.pivotaltracker.com/story/show/4825347711:29
A. "Forbulo" Soroka edited "Half-assed story for policy-driven storage" https://www.pivotaltracker.com/story/show/4825347711:30
A. "Forbulo" Soroka edited "Half-assed story for policy-driven storage" https://www.pivotaltracker.com/story/show/4825347711:31
A. "Forbulo" Soroka edited "Three-quarter-assed story for policy-driven storage" https://www.pivotaltracker.com/story/show/48253477
A. "Forbulo" Soroka added "Reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/4825389911:32
Fedo Radmin edited "Three-quarter-assed story for policy-driven storage" https://www.pivotaltracker.com/story/show/4825347711:37
Fedo Radmin edited "Reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/48253899
Anusha Ranganathan edited "Reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/4825389911:38
Edwin Shin added "Configure a second named cache" https://www.pivotaltracker.com/story/show/4825474311:41
Edwin Shin edited "Configure a second named cache" https://www.pivotaltracker.com/story/show/48254743
* kaarefc leaves11:43
<cbeer>back for 10m.
<pivotal-bot>Edwin Shin edited "Islandora reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/4825389911:44
Edwin Shin edited "Islandora reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/48253899
<cbeer>eddies: those reporting tickets are basically fixity reporting, no?11:45
except we need to extend o.f.u.LLCE to expose federated resources
barmintor, ajs6f: ^11:46
i'm sans-mic.
<ajs6f>No, cbeer.
They're about reporting _where_ a resource has been persisted.
I think.
<cbeer>which is what the fixity resource does
<ajs6f>Okay.
<cbeer>but it also runs the checksums
<ajs6f>Then maybe we already did that ticket.
<barmintor>the CacheEntry knows about which cache it was in
<cbeer>but we could toggle that off
eddies: not just filecachestore. any binary store.11:47
any modeshape binary store
* nbanks leaves
<cbeer>but i don't know how federated resources show up
so maybe that's a new ticket?
yeah, a federateddocumentstore is not a binarystore11:48
<pivotal-bot>Edwin Shin edited "Islandora reporting for policy-driven storage" https://www.pivotaltracker.com/story/show/48253899
Chris Beer added "Expose resources in the federated document store as a LowLevelCacheEntry " https://www.pivotaltracker.com/story/show/48255587
Chris Beer edited "Expose resources in the federated document store as a LowLevelCacheEntry " https://www.pivotaltracker.com/story/show/4825558711:49
<barmintor>cbeer: FederatedDocumentStore isn't even a *node* store
<cbeer>ajs6f: yes. the BinaryKey is an object already.11:51
<ajs6f>cbeer: sez you! Ben says no.11:52
sort of
<pivotal-bot>Edwin Shin added "Modify a storage policy" https://www.pivotaltracker.com/story/show/4825607311:55
Edwin Shin edited "Modify a storage policy" https://www.pivotaltracker.com/story/show/48256073
Edwin Shin edited "Expose resources in the federated document store as a LowLevelCacheEntry " https://www.pivotaltracker.com/story/show/48255587
Chris Beer estimated "Policy-driven BinaryKey generator" as 5 points https://www.pivotaltracker.com/story/show/48252257
Chris Beer estimated "Test Infinispan cross-site replication feature" as 2 points https://www.pivotaltracker.com/story/show/48247851
<cbeer>ajs6f, barmintor: i'm not following the whole discussion12:00
but i'm not sure this is an issue
<ajs6f>what isn't an issue?
<cbeer>maybe we can talk about this tomorrow on the fcrepo call?
<barmintor>cbeer: ajs6f basically just said "any changes to the way we make binary keys must not break clustering"12:01
<cbeer>barmintor: and i don't see how they would. ISPN doesn't care
<barmintor>cbeer: okey doke
<ajs6f>cbeer: ISPN uses the key to decide where to send resources (amongst a cluster of nodes)
cbeer: that's why it's a circular hash.
I think.
<cbeer>ajs6f: it's a little trickier than that. but as long as they key is stable, ISPN doesn't really care about the key12:02
<pivotal-bot>Edwin Shin edited "Copy node from federated filesystem to Infinispan cache" https://www.pivotaltracker.com/story/show/48252423
<cbeer>until we get into node affinity, it's opaque as far as i know
<ajs6f>Does it generate its own internal ids with the circular hash?
<cbeer>ajs6f: not sure. i suspect it hashes the keys somehow12:03
<ajs6f>okay. That's ocol.
cool.
<cbeer>and ocol12:04
<ajs6f>ocol is even cooler than cool
<cbeer>i'm now in our interview, so ping me if you need me
<ppound>brb12:07
<VincentNG>https://github.com/futures/fcrepo-bagit-modeshape-federation-connector
<pivotal-bot>Edwin Shin added "Databank filesystem connector" https://www.pivotaltracker.com/story/show/4825730712:09
Edwin Shin edited "Databank filesystem connector" https://www.pivotaltracker.com/story/show/48257307
<ppound>I'm back
<cbeer>eddies: that's not a small task12:10
adding one to ISPN is easy
but making MODE do anything with it is not.
i don't understand what we want to do with https://www.pivotaltracker.com/story/show/48252687 i guess12:11
<pivotal-bot>feature: Copy node from one Infinispan cache to another (unstarted) / owner:
<cbeer>are we suggesting fcrepo 4 is doing raw ISPN interactions?
<ajs6f>we want to prove that we can
<cbeer>we know we can. fixity repair proved that
<ajs6f>apparently.
<cbeer>if you guys think it's a reasonable task, so be it. i've obviously missed most of the call12:12
eddies: i think it's either already done, or a really big task involving writing a lot of code in MODE to do multiple binary stores12:13
or we're doing it at the fcrepo 4 level
and i don't understand the benefit from doing that12:14
eddies: maybe we could table this to tomorrow?12:15
eddies: i feel like i have a lot of the investigation done.12:16
eddies: sure.12:17
<pivotal-bot>Edwin Shin edited "Copy node from one Infinispan cache to another" https://www.pivotaltracker.com/story/show/48252687
<barmintor>org.apache.cxf.interceptor.Fault: The values for the '{http://www.jcp.org/jcr/1.0}content' property on node '/objects/test:object/testDS2' no longer satisfy the type and/or constraints on the 'jcr:content' property definition on the 'nt:file' node type definition12:19
<pivotal-bot>Chris Beer edited "Copy node from one Infinispan cache to another" https://www.pivotaltracker.com/story/show/48252687
Chris Beer added comment: "by node, do we mean fcrepo object, datastream, or other?" https://www.pivotaltracker.com/story/show/4825268712:20
A. "Forbulo" Soroka delivered "Remove old code related to keeping track of repo size" https://www.pivotaltracker.com/story/show/47758917
* kaarefc joins
<pivotal-bot>Chris Beer added comment: "how/where do we intend to do this copy? automatic based on policy or triggered via the REST API?" https://www.pivotaltracker.com/story/show/4825268712:21
Chris Beer added comment: "I'd strongly suggest not lightening too much of the storage to fcrepo4. Best keep it contained in MODE." https://www.pivotaltracker.com/story/show/48252687
Chris Beer added comment: "Another ISPN named cache should be configured in https://github.com/futures/fcrepo4/blob/master/fcrepo-webapp..." https://www.pivotaltracker.com/story/show/4825474312:24
Chris Beer edited "Configure a second named cache" https://www.pivotaltracker.com/story/show/48254743
Chris Beer estimated "Configure a second named cache" as 1 point https://www.pivotaltracker.com/story/show/48254743
<VincentNG>barmintor: do you have "extraPropertiesStorage": "json" configured?12:25
<barmintor>No. It's not really relevant yet.
<VincentNG>eddies: were you looking for this ticket? https://www.pivotaltracker.com/story/show/48200901
<pivotal-bot>feature: Reroute all properties access through a "choke point" where required properties are checked (unscheduled) / owner:
<barmintor>The bagit connector is regenerating the proerties everytime anyway
<ajs6f>https://wiki.duraspace.org/pages/viewpage.action?pageId=34647470
<eddies>https://wiki.duraspace.org/display/FF/2013-04+Hackfest
<cbeer>i guess we should ask about dietary things again12:26
pick-up at south station is a pian12:30
pain.
i think though
lots of 1-way streeets
there's a couple grocery stores downtown12:31
<barmintor>eddies: I have to go
<cbeer>https://maps.google.com/maps?q=stop+and+shop+salem,+ma&hl=en&sll=42.565724,-70.918121&sspn=0.415191,0.63858&hq=stop+and+shop&hnear=Salem,+Essex,+Massachusetts&t=m&z=12&iwloc=A
or https://maps.google.com/maps?q=shaws+salem,+ma&hl=en&ll=42.510704,-70.910225&spn=0.10389,0.159645&sll=42.528328,-70.924454&sspn=0.20772,0.31929&hq=shaws&hnear=Salem,+Essex,+Massachusetts&t=m&fll=42.510704,-70.910225&fspn=0.10389,0.159645&z=1312:32
https://maps.google.com/maps?saddr=BOS&daddr=Whole+Foods+Market,+181+Cambridge+Street,+Boston,+MA+02114&hl=en&ll=42.367676,-71.042404&spn=0.052064,0.079823&sll=42.357275,-71.066866&sspn=0.052072,0.079823&geocode=FQeChgId41HE-yFEUS0fw5STDCk3SdrVFHDjiTFEUS0fw5STDA%3BFTxkhgIdc6DD-ylH6TxomnDjiTEnDqdild1GjA&mra=ls&t=m&z=14 if you're killing time downtown12:33
* anusha_ leaves
* nbanks joins12:48
* ajs6f leaves13:08
* ajs6f joins13:14
* ap2972 leaves13:16
<cbeer>ajs6f++ good food list13:20
<ajs6f>Good food = strong work.
<eddies>cbeer: kimchee?13:38
<cbeer>ask ajs6f.
i can't stand the stuff.
<eddies>oh that was him =)
pfft. racist.
(sorry, that's more of an inside joke i have w/ a friend who also hates the stuff)13:39
<cbeer>equal opportunity racist though. most mustard falls in the same category.
<ajs6f>cbeer: we'll start with small doses on monday and work our way up.
<eddies>i have a giant tupperware of the stuff i brought back from seoul last week. mmMMMMMmmMMMMmm
but i dare not carry it on the plane to boston13:40
<ajs6f>eddies: Oh, pleasepleaseplease.
Or you can mail it.
<eddies>heh
<cbeer>https://wiki.duraspace.org/display/FF/Policy-Driven+storage+in+Modeshape13:41
<eddies>i'm pretty sure despite whatever measures i take to wrap it up, it would stink up either the cabin or my luggage
<cbeer>first pass. we'll see when i get time to take a deeper dive.
<eddies>cbeer++
<ajs6f>Stink up? You mean its delicious aroma will perfume all around it.13:42
<pivotal-bot>Chris Beer added comment: "Considerations: https://wiki.duraspace.org/display/FF/Policy-Driven+storage+in+Modeshape" https://www.pivotaltracker.com/story/show/4825268713:46
Chris Beer edited "Automate modeshape snapshot builds." https://www.pivotaltracker.com/story/show/4818401913:48
* ap2972 joins14:04
<barmintor>getting federated nodes to implement mix:versionable == bad news14:36
<ajs6f>why?
<barmintor>well, one because the connector world is Document centered, and there are node-centered properties defined on that mixin14:37
B., because I need to figure out how to fake all these node reference things, and we don't have those mixin classes yet :P14:38
<ajs6f>node ref things?14:39
<barmintor>when you clone a node, MODE wants to use the base version of the node you're cloning
mix:versionable/jcr:baseVersion is a node reference14:40
<ajs6f>oh, cause versions are independent node?
nodes?
<barmintor>I guess?
that's what I'm assuming14:41
<ajs6f>yah, they are, related by special relationsuips.
* nbanks leaves14:52
<barmintor>we need to learn about the mechanics of MODE's versioning, nodes and priperties
s/prip/prop/
<ajs6f>DONE!14:53
Oh, wait. Not done yet.
<cbeer>ok, this binarystore implementation is going to drive us crazy.14:56
it seems like /all/ a BinaryStore gets is a byte[] or an InputStream
and the factory doesn't get much more than that.14:57
<ajs6f>No ID?
<cbeer>and everything on top of that is making calls into the factory
nope. the binary store is apparently responsible for generating the BinaryKey
which i guess makes sense14:58
<ajs6f>OUCH.
Yeah, but that really hurts.
That's a kick in the gut for us.
<cbeer>yup. looks like we get to add a big new mechanic to MODE
<ajs6f>Okay, I think we got to talk to the MODE people firs thing.
<cbeer>(probably not that bad, but Intellij crashes trying to find all the #create calls)14:59
agreed. i think we can probably show them an akubra usecase
* nbanks joins
<cbeer>i suspect they're open to some refactoring because there's a lot of duplication in the existing Stores15:00
<barmintor>lame
<ajs6f>Hey, it's a long-running project.
Do we feel like fcrepo3 is a good role model? :)15:01
<barmintor>I don't think I can make a federated node versioned?
<ajs6f>Wouldn't that require creating multiple version-nodes in external storage?
<barmintor>I don't know how I could get the NodeKey of the node MODE is going to create from the DocumentWriter
<ajs6f>I think you're not supposed to be able to.
<barmintor>I can't even make myself the base version15:02
<ajs6f>A Connector can't, only the higher-level class Connectors. (good name pattern)
<barmintor>maybe MODE does something if I say I'm versionable
<ajs6f>Are you versionable?15:08
* VincentNG leaves15:21
* nbanks leaves
* VincentNG joins
<pivotal-bot>A. "Forbulo" Soroka started "Copy node from federated filesystem to Infinispan cache" https://www.pivotaltracker.com/story/show/4825242315:43
* ppound leaves15:50
* ap2972 leaves15:56
* kaarefc leaves15:58
<ajs6f>Okay. It turns out that you cannot simply move nodes from a federated source to anywhere else.16:11
You have to copy them.
Dang.
That's expensive as ())(*).
<barmintor>Well16:12
it kind of depends on whther it has to be a deep copy or not
<ajs6f>True.
But even a shallow copy of binary stuff could be harsh.
* github-ff joins
[node-goes-from-federated-to-ispn] ajs6f created master (+1 new commit): http://git.io/f0iFNA
node-goes-from-federated-to-ispn/master c116597 ajs6f: Demo for examination
* github-ff leaves
<ajs6f>20 GB of video?16:13
BTW: There's a demo of copying.
^^^
<barmintor>I don't think I can get a connector to realize nodes that support mix:versionable
<ajs6f>Urg.
* jcoyne leaves
<ajs6f>Maybe we need to check with the MODE crew and see whether that's supported and if not, why not, and so forth.16:14
<barmintor>oh, I know why not
<ajs6f>Etc.
Are we just not cool enough?
<barmintor>where would you get the version nodes?
and their keys?
<ajs6f>Right.
<barmintor>the whole document interface pre-supposes not having access to keys
<ajs6f>Maybe we talk to Neil and Thorny and explain...16:15
<barmintor>and, unfortunately, [fedora:resource] > mix:versionable
<ajs6f>that if you want the main stores to be both durable and xactional,
you can't have versioning.
<barmintor>:|
<ajs6f>Or you have to build it out on top.
<cbeer>ajs6f: oh yeah. i forgot that you weren't at the hackfest last time16:16
<ajs6f>We're not that far from a point at which we could honestly say, "Thorny, if you want versioning over durable stores, give us a dev."
cbeer: eh?16:17
<cbeer>ajs6f: food.
<ajs6f>cbeer: eh x 2?
<cbeer>ajs6f: we ate loads of bacon before code4lib.
<ajs6f>cbeer: no prob.
cbeer: As long as everyone enjoys. I'll just eat smoked fish in the corner.16:18
<barmintor>I know that's true, but it's hilarious to see it typed out there
"
"we ate loads of bacon before code4lib."
* fasseg joins
<ajs6f>I know the truth. You just ate the bacon as bar snacks to make the beer go down faster.16:19
Salty, salty.
<cbeer>right. so. back to work... the problem with modeshape only giving the BinaryStore the value is we want to smuggle a hints payload into the BinaryStore.16:21
<ajs6f>Yeah. I can't _believe_ BinStore doesn't even get a key.
Wrapping hints into the bitstream is… no. Just no.16:22
<cbeer>well, it makes sense. your binarykey will change depending on where you stored it
a database might use some sequence number, a filesystem might use a file path, etc.
(although in practice, i think they all use sha-1s)
<ajs6f>_If_ you put the hint into the key.
<barmintor>(except Amazon)
<ajs6f>Which IMNSHO is wrong.
BUt we got what we got.16:23
Changing the contract of the BinaryStore would mean changing the code of every client. Urg.16:24
<cbeer>i'm not sure how true that actually is, but, yes, it's not a small change
<ajs6f>Right.
<cbeer>i feel like they lock the binary stores pretty far away
<ajs6f>Yeah.
<cbeer>and we could always add a HintsStripperBinaryStoreProxy16:25
<ajs6f>That's a Spring-worthy name.
I feel like we're running into the heritage of JBoss DNA.
<cbeer>i'm working on my java-esque naming
<ajs6f>The whole proposition of which was to put an inpenetrable surface over a variety of persistence.16:26
<cbeer>it also wouldn't be so hard to rewrite:
BinaryValue binary = factories().getBinaryFactory().create(value);
as get the factory, see if it's a hintscapablebinaryfactory and pass in hints
<ajs6f>No, but how many places would it have to be rewritten?
<cbeer>there are only 16 usages that i see in modeshape
<ajs6f>Hm.
That's a nice surprise.16:27
<cbeer>hm. maybe a few more of getBinaryFactory() itself
either way <50
places to check
<ajs6f>Okay. But what about the creation of binary values from JCR?
<barmintor>you could just add a create(byte[] value, Hint[] hints) method to the BinaryFactory interface
<ajs6f>Node.setProperty(name, value)
would have to be extended to accept hints, right?16:28
<cbeer>you don't think we can cheat there?
<ajs6f>?
<cbeer>i guess it all depends what sort of hints we're trying to expose16:29
i assumed they'd all be existing properties of the node/property/value
maybe that's a bad assumption
<ajs6f>Depends on what the word "policy" in "policy-driven storage" unpacks into.
But I think it's a fine assumption to start with.
We're not out to create the XACML of storage.16:30
<cbeer>good thing we can scope it and say "PATCHES WELCOME"
<ajs6f>SCOPE THAT MOFO!
<cbeer>i think one of my suggestions on the wiki was to start with something that looks a lot like the projections.. /objects/abc and /objects/def use different stores.
i hope that information is easy to get at
and then we can build the HintProviderFactory interface once MODE has comments for s16:31
<ajs6f>But projections are a repo-wide thing, so policy would also be repo-wide.
And we don't let clients decide where to put things in JCR. We do that for them.
At least so fra.
far
<cbeer>right.
but at the point where we make that decision, we can have some fcrepo4-land logic to push things to different trees16:32
<ajs6f>Okay.
<cbeer>at least it lets us make sufficient progress to get feedback from MODE
<ajs6f>I'm starting to wonder whether we may really need some hierarchy.
Yeah.
So we're reversing the projections, kind of.16:33
Projecting out of the repo into external sources.
<cbeer>yes, it's probably time to commit to hierarchy.
<ajs6f>I think it was time five years ago. :)
<cbeer>and this may be the concrete thing to drive it
<ajs6f>The graph is beautiful, but treacherous.
Hierarchy has a simple, honest virtue.16:34
I like the idea of reverse projections.
<cbeer>hm. i guess we could also change the signature of getBinaryFactory()
<ajs6f>Simple enough to move quickly forward.
Is that what you meant by "define different BinaryStores to be used in different parts of the JCR tree"?16:35
<cbeer>yes. i think so.
<ajs6f>Cool.
We can come back and add more sophisticated management.
If we want to.
<barmintor>another option: your policies can only operate on size of the bytestream and its detectable MIME type16:36
<ajs6f>That's also a kind of reverse projection, but you'd have to think of the repo "slice" as being defined by a query and not a path.
Paths are easy. :)
Especially in JCR>
<barmintor>sort of- I was thinking your BinaryFactory would just analyze the content, look at your policy, and assign a store appropriately16:37
<cbeer>except that the JcrValue doesn't get to know what its path is!?
<ajs6f>Yeah, I get you. I'm thinking in terms of what the word "policy" comes to mean.
<barmintor>cbeer: but it gets the bytes payload, right?
<cbeer>i'm still trying to figure out how JcrValues are created.16:38
<ajs6f>I got to run. Y'all let me know when it's all worked out and we know exactly what we need to do. k thanks bye!
<cbeer>ah, a ValueFactory
* ajs6f leaves
<barmintor>is there anything factories *can't* do?
<cbeer>hm. looks like this'll have exactly the same problem.16:40
the JcrValueFactory lets something upstream know what the JcrValue/BinaryValue is
JcrContentHandler sure does a lot of work16:42
* jcoyne joins17:09
<cbeer>hm. looks like we're actually pre-creating the Binary value ourselves17:32
in fcrepo-land code
that's.. handy.
* github-ff joins17:46
[fcrepo4] fasseg pushed 1 new commit to jersey-grizzly: http://git.io/cgoqtw
fcrepo4/jersey-grizzly ece5bdd fasseg: switched http-api to jersey and changed http-api integration tests to use grizzly
* github-ff leaves
* ap2972 joins17:57
<bljenkins>Project fcrepo-kitchen-sink build #177: SUCCESS in 3 min 53 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/177/18:05
Project fcrepo-fixity build #168: SUCCESS in 4 min 1 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/168/18:06
* jcoyne leaves18:21
<fasseg>hmm can you guys tell me where the aduna repo dependencies come from? because it seems the maben repo at: http://repo.aduna-software.org/maven2/releases is offline for me and this sucks a bit ;)18:26
hmmmm: "NOTICE: This domain name expired on 04/13/2013 and is pending renewal or deletion."18:27
that's why it sucks to have 3rd party maven repos hidden in the poms ;)
<cbeer>fasseg: looks like it might have been sesame?18:30
http://www.openrdf.org/doc/sesame2/users/ch02.html
<fasseg>yep it's the openrdf dependency that fails for me
Do we have to fetch that from arduna? no alternative locations?
<cbeer>apparenetly.18:31
<fasseg>blergh. it's the jar hell all over again
* VincentNG leaves18:45
<cbeer>whoa. now i'm very confused at the relationship between modeshape and its binary stores18:50
i was able to rationalize the idea that the binary stores calculated the binarykey themselves18:51
because it's more efficient or whatever
but the BinaryKey class insists that keys are SHA-1 hashes
oh, i guess it stops short of that18:52
<barmintor>Well, I'm very cuckoo about trying to get cloning these nodes to work. Time for a break. BinaryKeys this weekend. Good luck!
* ap2972 leaves18:54
<pivotal-bot>Chris Beer added "Ensure fcrepo4 datastream read times are consistently faster than fcrepo3 read times" https://www.pivotaltracker.com/story/show/4828873919:07
Chris Beer added "Ensure fcrepo4 datastream write times are consistently faster than fcrepo3 write times" https://www.pivotaltracker.com/story/show/48288755
Chris Beer edited "Test Infinispan cross-site replication feature" https://www.pivotaltracker.com/story/show/4824785119:08
Chris Beer edited "Test Infinispan cross-site replication feature" https://www.pivotaltracker.com/story/show/48247851
* github-ff joins19:09
[fcrepo4] fasseg pushed 1 new commit to jersey-grizzly: http://git.io/10CTHw
fcrepo4/jersey-grizzly a8e45f3 fasseg: switched RSSPublisher to Jersey impl and changed integration test to use grizzly
* github-ff leaves
<pivotal-bot>Chris Beer added "Policy-aware BinaryStoreValueFactory implementation" https://www.pivotaltracker.com/story/show/48288873
Chris Beer edited "Policy-aware BinaryStoreValueFactory implementation" https://www.pivotaltracker.com/story/show/4828887319:10
Chris Beer added comment: "Dependent on first pass at https://www.pivotaltracker.com/story/show/48288873" https://www.pivotaltracker.com/story/show/48252687
Chris Beer added comment: "Upgraded to 5.3.0.Alpha1" https://www.pivotaltracker.com/story/show/4763933519:11
Chris Beer accepted "Upgrade to ISPN 5.3 (when available) to fix clustering work-around." https://www.pivotaltracker.com/story/show/47639335
<fasseg>well im turning in...only the fcrepo-generator-rdf is left for me to switch to jersey/grizzly, which I can't do at the moment since the arduna servers are offline...
good night...
* fasseg leaves
<cbeer>hm. i wonder if this is our issue: https://issues.jboss.org/browse/ISPN-254919:19
<pivotal-bot>Chris Beer added comment: "http://docs.jboss.org/jbosstm/5.0.0.M1/guides/narayana-jta-installation_guide/chap-JBossJTA_Installation_Guid..." https://www.pivotaltracker.com/story/show/4614232919:23
Chris Beer started "Remove crappy temp files that leak into the container directory" https://www.pivotaltracker.com/story/show/46142329
<bljenkins>Project fcrepo-kitchen-sink build #178: SUCCESS in 4 min 45 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/178/19:29
Project fcrepo-fixity build #169: SUCCESS in 4 min 52 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/169/19:31
* jcoyne joins20:04
* jcoyne leaves20:32
* jcoyne joins20:40
* ap2972 joins21:25
* ap2972 leaves21:29
* VincentNG joins22:14
* jcoyne leaves22:59
* eddies leaves23:24
* eddies joins23:37
* eddies leaves
* eddies joins
* eddies leaves23:53
* VincentNG leaves00:04
* eddies joins00:12
* eddies leaves
* eddies joins
* jonathangee leaves00:34
* jonathangee joins00:39
* jonathangee leaves00:56
* jonathangee joins01:04

Generated by Sualtam