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

Using timezone: Eastern Standard Time
* kaarefc joins03:34
* kaarefc leaves03:36
* eddies leaves
* kaarefc joins03:37
* eddies joins03:49
* eddies leaves
* eddies joins
* eddies leaves05:26
* eddies joins06:40
* eddies leaves
* eddies joins
* eddies leaves
* eddies joins07:08
* eddies leaves
* eddies joins
<fasseg>eddies: this is just frustrating.....even the org.jboss.resteasy.plugins.spring.SpringBeanProcessor igonres the @Inject annotation. But i guess i can extend that one and add it to the wrapper as an internal class...07:26
* VincentNG joins07:37
* ap2972 joins08:48
* ap2972 leaves08:56
<fasseg>"tjws + spring + jsr330"--08:58
* ap2972 joins09:04
* kaarefc leaves09:19
* escowles joins09:31
* ap2972 leaves09:32
* eddies leaves10:17
* github-ff joins10:18
[fcrepo4] eddies pushed 1 new commit to master: http://git.io/QbYTKA
fcrepo4/master 79658a6 Edwin Shin: Uses build-helper-maven-plugin to reserve unused ports, which are then used in...
* github-ff leaves
* eddies joins10:19
<nbanks>I can't seem to get fcrepo web app to run on the latest10:20
It may be my own stupidity I didn't run mvn install afterwards maybe something was added10:21
Failing the Running org.fcrepo.integration.SanityCheckIT on install10:25
* ap2972 joins
<nbanks>INFO 20:49:38.999 (Server) jetty-8.1.7.v20120910
WARN 20:49:39.070 (AbstractLifeCycle) FAILED SelectChannelConnector@localhost:33010: java.net.BindException: Address already in use
java.net.BindException: Address already in use
ould not start Jetty server on port 33,010: Address already in use10:26
<bljenkins>Project fcrepo4 build #345: UNSTABLE in 9 min 23 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo4/345/10:28
Edwin Shin: Uses build-helper-maven-plugin to reserve unused ports, which are then used in
<eddies>nbanks: is that with my latest changes?10:30
hey all: weekly call now
* fasseg leaves10:31
* ajs6f joins10:33
<eddies>ajs6f: join us
<ajs6f>Folks— not going to be able to make the 10:30, but will be on for the 11:00 standup.
<nbanks>ya
<cbeer>other than the deadlock + timeout issue, here's a promising result of clustering:10:41
single-node:
> summary(data$elapsed)
Min. 1st Qu. Median Mean 3rd Qu. Max.
80.0 247.0 548.5 1308.0 1284.0 42320.0
* travis-ci joins
[travis-ci] futures/fcrepo4#348 (master - 79658a6 : Edwin Shin): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/a9aad0ac4fa4...79658a68bbb2
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6250852
* travis-ci leaves
<cbeer>4-node cluster:
> summary(data$elapsed)
Min. 1st Qu. Median Mean 3rd Qu. Max.
82.0 212.0 383.0 2524.0 764.2 305000.0
<ajs6f>Is that for all requests in a cycle (ingest, read, delete)?10:42
<cbeer>yes
Create Binary Resource Create Object Delete Object Get Object Modify Binary Resource10:43
800 80 80 80 3200
Read Binary Resource
800
so, mostly modifies
<ajs6f>That does look pretty cool. I wonder why the mean crept up...?
<cbeer>the max of 305000.0
<ajs6f>Oh, a few outliers?10:44
That makes sense.
<cbeer>yeah, i ran into what i suspect was a deadlock problem
<ajs6f>Cool.
<cbeer>and, i assume, there's a 300s timeout
there was an ISPN i cranked down, but it didn't change anything
<ajs6f>Sounds like we have the tools to try to show linear scaleout...
* kaarefc joins10:48
* ajs6f leaves10:54
* ajs6f joins11:01
<cbeer>there's all manner of bagit-generating stuff in https://github.com/futures/ff-fixtures11:03
<pivotal-bot>Benjamin Armintor added "Figure out how to demo bagit connector on futures6" https://www.pivotaltracker.com/story/show/4788989911:04
<cbeer>https://www.pivotaltracker.com/story/show/4745771311:05
<pivotal-bot>bug: JMeter delete objects return spurious 404s (finished) / owner: Aleksey Pokalyukhin
<cbeer>there's the ticket
<barmintor>ajs6f: don't know if you heard, but part of my test effort for the bagit connector tix is to refactor to use more of the LOC BagIt classes, which I think will address some of your concerns about role pollution
<ajs6f>Role pollution?
<barmintor>BagIt parsing stuff in our adapting classes11:07
Knowledge of BagIt layout
etc.
<ajs6f>Oh, coo..
<barmintor>contained in the wrong places
<ajs6f>Yeah, the BagU lib isn't to my taste, but it is the obvious choice.
<pivotal-bot>Chris Beer added "Add REST API tests to show endpoints are using authenticated sessions" https://www.pivotaltracker.com/story/show/4789089111:15
* fasseg joins11:17
<cbeer>single-node:11:19
Min. 1st Qu. Median Mean 3rd Qu. Max.
80.0 247.0 548.5 1308.0 1284.0 42320.0
cluster:
Min. 1st Qu. Median Mean 3rd Qu. Max.
82.0 212.0 383.0 2524.0 764.2 305000.0
<fasseg>eddies: So it seems jersey ignores JSR330 @Inject annotations: http://java.net/jira/browse/JERSEY-517. They have their own "import com.sun.jersey.spi.inject.Inject". So i suspect jersey *will* have the same problems as RESTEasy :/11:22
<cbeer>--
jax-rs 2.0 and CDI?
<barmintor>CXF! CXF! CXF!
<fasseg>cbeer: nah thas for jersey 1.1 but it's still open for jersey 211:23
* VincentNG leaves11:27
* VincentNG joins11:31
* barmintor leaves11:33
* escowles leaves11:48
<pivotal-bot>A. "Erdocamic" Soroka added "Move SessionFactory out of fcrepo-http-commons" https://www.pivotaltracker.com/story/show/4789590112:08
A. "Erdocamic" Soroka estimated "Move SessionFactory out of fcrepo-http-commons" as 2 points https://www.pivotaltracker.com/story/show/47895901
A. "Erdocamic" Soroka started "Move SessionFactory out of fcrepo-http-commons" https://www.pivotaltracker.com/story/show/47895901
* github-ff joins12:14
[fcrepo4] ajs6f pushed 1 new commit to master: http://git.io/7i0hlg
fcrepo4/master 1bde722 ajs6f: Code cleanup: removed unused imports, added suppression for unneccessary generics warnings, etc.
* github-ff leaves
* VincentNG leaves12:28
<bljenkins>Yippie, build fixed!12:29
Project fcrepo4 build #346: FIXED in 15 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/346/
A. Soroka: Code cleanup: removed unused imports, added suppression for unneccessary generics warnings, etc.
* VincentNG joins12:32
* escowles joins12:34
<bljenkins>Project fcrepo-kitchen-sink build #157: SUCCESS in 3 min 49 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/157/
Project fcrepo-fixity build #149: SUCCESS in 3 min 55 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/149/12:36
* github-ff joins12:37
[fcrepo4] eddies pushed 1 new commit to master: http://git.io/qlCyHw
fcrepo4/master 7ea33c5 Edwin Shin: jetty-maven-plugin configuration now only uses the build-helper:reserve-ports goal for integration tests....
* github-ff leaves
<eddies>escowles: that latest push should let you do mvn jetty:run again. thanks for catching that
nbanks: i can't reproduce the error in https://gist.github.com/nigelgbanks/536463612:38
* travis-ci joins
[travis-ci] futures/fcrepo4#349 (master - 1bde722 : ajs6f): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/79658a68bbb2...1bde7224a4a7
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6254436
* travis-ci leaves
<eddies>nbanks: can you rerun and verify that the port that tries to get used really isn't in use (e.g. via netstat -lp)?12:39
<nbanks>eddies: sure
44427 doesn't seem to be in use "Could not start Jetty server on port 44,427: Address already in use"12:41
<eddies>hrm. looks like that travis error is also address already in use
<nbanks>gtg supper12:43
<eddies>only difference i can think of that the two have in common is linux vs os x
i.e. travis and you are both running linux
escowles: you're on os x, too?12:44
fasseg: can you do a pull of fcrepo4 and run mvn verify?
<escowles>eddies: yep, i'm on osx (and mvn jetty:run is working for me now)
* ap2972 leaves12:46
<nbanks>verify was a success for me12:48
<eddies>so…now it's all good?12:50
intermittent pass/fail is…unsatisfying
well the travis build for the latest fcrepo4 commit is still underway12:51
we'll see what that turns up too, i guess
<bljenkins>Project fcrepo-kitchen-sink build #158: SUCCESS in 4 min 49 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/158/12:53
<pivotal-bot>Edwin Shin edited "Remove getDatastreamHistoryOld" https://www.pivotaltracker.com/story/show/4699933712:54
<bljenkins>Project fcrepo-fixity build #150: SUCCESS in 5 min 24 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/150/12:55
* VincentNG leaves12:57
* VincentNG joins
* travis-ci joins12:58
[travis-ci] futures/fcrepo4#350 (master - 7ea33c5 : Edwin Shin): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/1bde7224a4a7...7ea33c501291
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6255252
* travis-ci leaves
<VincentNG>is there a reason why there's two fedora-node-type.cnd's? are both being used?13:00
cbeer: ajs6f eddies ^^13:02
there's one under kernel and one under webapp. they're slightly different
<ajs6f>I don't know. I created the one in kernel. I assume the one in webapp contains more.13:03
<eddies>i don't know. i didn't create either13:05
<VincentNG>hmmm....okay. i'll dig into it more if i have time. it may be worth trying to consolidate or get rid of one if possible.13:08
thanks
<pivotal-bot>Aleksey Pokalyukhin delivered "JMeter delete objects return spurious 404s" https://www.pivotaltracker.com/story/show/4745771313:40
Aleksey Pokalyukhin accepted "JMeter delete objects return spurious 404s" https://www.pivotaltracker.com/story/show/47457713
* nbanks leaves13:45
<eddies>i'm not sure if i should revert my maven-jetty-plugin changes13:47
i can'
t reproduce the problem locally, and actually, i think jenkins is ok too, but it's not really worth having travis failing
<pivotal-bot>Edwin Shin edited "JMeter delete objects return spurious 404s" https://www.pivotaltracker.com/story/show/4745771313:50
Edwin Shin edited "JMeter delete objects return spurious 404s" https://www.pivotaltracker.com/story/show/4745771313:51
* ajs6f leaves13:52
<eddies>cbeer: for the instructions you posted on running fcrepo4 clustered13:53
assuming a 2-node cluster,
nodeA starts up w/ something like MAVEN_OPTS="-Djgroups.tcpping.initial_hosts=10.0.0.105[7800] -Djgroups.tcp.address=10.0.0.104 -Dfcrepo.ispn.numOwners=2" mvn clean install http://jettyrun/13:54
and nodeB starts up with?
<cbeer>(numOwners=2 is now the default, btw)
nodeA's IP is 10.0.0.104?
<eddies>i dunno =). i'm just trying to figure out the instructions you posted at https://wiki.duraspace.org/display/FF/Getting+Started
<cbeer>we're in the middle of a production upgrade, so i'm not going to check what i wrote but:13:56
tcp.address should point to an interface on the node that can talk to othercluster members
initial_hosts points to the other cluster member addresses.13:57
<eddies>ok, so nodeB should start up with: MAVEN_OPTS=-Djgroups.tcpping.initial_hosts=10.0.0.104[7800] -Djgroups.tcp.address=10.0.0.105 mvn clean install http://jettyrun/13:58
and is that [7800] how you're supposed to indicate the port?
* ajs6f joins13:59
<cbeer>yes [7800] is the port
and the initial_hosts should include themselves
<eddies>comma-separated?14:00
<pivotal-bot>Aleksey Pokalyukhin started "Remove getDatastreamHistoryOld" https://www.pivotaltracker.com/story/show/46999337
<cbeer>sounds reasonable. check /etc/defaults/tomcat7 on futures2-514:01
<ajs6f> JAAS, my ass. This stuff is gross.
<pivotal-bot>Aleksey Pokalyukhin added comment: "Should I remove getDatastreamHistoryOld method from both org.fcrepo.api and org.fcrepo.api.legacy or..." https://www.pivotaltracker.com/story/show/4699933714:04
<eddies>fyi, from futures3: -Djgroups.tcp.address=10.0.0.103 -Djgroups.tcpping.initial_hosts='10.0.0.105[7800],10.0.0.104[7800],10.0.0.103[7800],10.0.0.102[7800]' -Dfcrepo.ispn.numOwners=2 -Djava.net.PreferIPv4Stack=true"14:05
<pivotal-bot>A. "Erdocamic" Soroka edited "Move SessionFactory out of fcrepo-http-commons into a new fcrepo-authn module with default impl for HTTP." https://www.pivotaltracker.com/story/show/4789590114:06
A. "Erdocamic" Soroka added comment: "Apache Shiro: ""14:08
http://shiro.apache.org/
might be very useful for this. Much better than working d..." https://www.pivotaltracker.com/story/show/47895901
* nbanks joins14:09
* ajs6f leaves
* ap2972 joins14:10
* barmintor joins
* ajs6f joins14:16
<pivotal-bot>A. "Erdocamic" Soroka edited "Move SessionFactory out of fcrepo-http-commons into a new fcrepo-authn module with default impl for HTTP." https://www.pivotaltracker.com/story/show/4789590114:17
<ajs6f>barmintor: what were you going to work on next with the bagIt connector? Was it using the BagIt library instead of "manual drive" code?14:18
<barmintor>yes, that and testing the various components14:19
although I hope to have less to test if I use LOC code
:)
<ajs6f>Okay. I'll take a few punches at using the LoC stuff
<escowles>i'm running mvn jetty:run in kitchen-sink, and jetty starts OK, but when i try to ingest an object, i get this error:14:25
2013-04-11 14:24:07.149:WARN:oejs.ServletHandler:Error for /rest/objects/new
java.lang.NoSuchMethodError: org.apache.cxf.common.util.StringUtils.split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
running jetty from fcrepo-webapp works fine, so i'm guessing there might be some difference between the CXF versions between kitchen-sink and fcrepo-webapp14:27
* github-ff joins14:29
[fcrepo4] alpok45 pushed 1 new commit to master: http://git.io/T_u02Q
fcrepo4/master fa3b06e Aleksey Pokalyukhin: deprecated getDatastreamHistoryOld method removed from org.fcrepo.api.FedoraDatastreams
* github-ff leaves
<barmintor>ajs6f: re: your last email- 1) you're right, and 2) it would actually slve the question of how to deal with DS types if every object Node was a federated node14:31
<ajs6f>_Every_ object node?
That's a radical notion.
<barmintor>yes: because a federated node can have internal and external children, but internal and external nodes can only have children of their own type14:32
<ajs6f>Oh, I get the attraction. I wonder about the performance consequences.
Also clusterability.14:33
<barmintor>I don't wonder- I can't imagine it not being a disaster
<ajs6f>:)
This:
http://www.theonion.com/articles/well-doesnt-area-businessman-look-dapper-for-his-b,32014/
is going to be everyone heading to Salem soo.
s/soo/soon
<barmintor>but conceptually, that's where MODE and FCREPO seem to map best to each other
<ajs6f>Hm.14:34
I dunno.
I mean...
it takes us right back to having the filesystem's serializations as the bottleneck to performance.
I was so happy to get away from that.
So happy...
<barmintor>maybe the perf hit from a bunch of projections would be so bad that the FS still wouldn't be the bottleneck14:35
:D
<ajs6f>That's thinking positive.
Bbut why would there have to be a huge number of projections?
If _all_ of the objects are projected...14:36
<barmintor>one for every object
nope
<ajs6f>Why one for each object?
<barmintor>because only the projection node can have both internal and external children
<ajs6f>Why not one per directory?
Oh, right.
The "federated" node.
<barmintor>yeah
<ajs6f>Well… we can try it, I think. It would just mean taking a working federation example,14:37
adding a huge number of projected nodes,
and running JMeter.
We could intentionally not federate in any datastreams to keep it more apples-to-apples at first.14:38
On another topic, I'm increasingly feeling that we ought to shift the BagItConnector from inheriting from FileSystemConnector already, especially to bring in the BagIt LoCl lib. I'd be happy to cut-and-paste the FileSystemConnector code and refactor from there.14:41
<barmintor>I had to start doing a lot of that to get the IT to run, anyway14:42
+1
<ajs6f>So you're cool with it?
Okay.
They really keep their visiblitiy cards close to their chest. It's annoying.
<barmintor>yes, that's exactly why I had to do it14:43
<ajs6f>Hey Java! It's an open-class world out here! COme and play!
"No. I want to sit here in my dark little encapsulated room."
<barmintor>ajs6f: let me push a few changes up so we're working from the same base14:44
<ajs6f>Cool.
* github-ff joins14:45
[fcrepo-bagit-modeshape-federation-connector] barmintor pushed 1 new commit to master: http://git.io/1cwkSA
fcrepo-bagit-modeshape-federation-connector/master 6946509 Benjamin Armintor: refactoring towards LOC bagit impl; stubbing some unit tests
* github-ff leaves
<barmintor>ajs6f: so I'm going to just work on the tests if you're going to work on the refactor14:46
sound good?
<bljenkins>Project fcrepo-kitchen-sink build #159: SUCCESS in 4 min 54 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/159/
<ajs6f>yep.14:47
* barmintor puts his testing cap on
<bljenkins>Project fcrepo-fixity build #151: SUCCESS in 4 min 38 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/151/14:48
* travis-ci joins14:49
[travis-ci] futures/fcrepo4#351 (master - fa3b06e : Aleksey Pokalyukhin): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/7ea33c501291...fa3b06e7c832
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6258255
* travis-ci leaves
<pivotal-bot>Aleksey Pokalyukhin added comment: "getDatastreamHistoryOld removed from org.fcrepo.api.FedoraDatastreams, but left in org.fcrepo.api.le..." https://www.pivotaltracker.com/story/show/4699933714:50
Aleksey Pokalyukhin finished "Remove getDatastreamHistoryOld" https://www.pivotaltracker.com/story/show/46999337
* nbanks leaves14:58
<ajs6f>barmintor: I've gotten confused.15:01
In the BagiTconnector that I'm refactoring,
if the fiflesystem resrouce is the root of the projection,15:02
you're calling it a fedora object.
But if it's a directory within that root,
you're also calling it a Fedora object...
<barmintor>ajs6f: I don't think the root is supposed to be a fedora object15:03
that's a bug
<ajs6f>Okay, cool.
{Keeps on rolling}
<barmintor>it's left over from when I was projecting onto a single bag15:04
while I was debugging
but you have identified a missing test ;)
* ap2972 leaves15:34
* nbanks joins15:40
* ajs6f leaves15:47
* github-ff joins15:48
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/rScMOQ
fcrepo4/master 5ef0610 Chris Beer: new locking settings
* github-ff leaves
* VincentNG leaves15:51
<bljenkins>Project fcrepo4 build #349: UNSTABLE in 10 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/349/15:59
Chris Beer: new locking settings
* github-ff joins16:01
[fcrepo-kitchen-sink] escowles pushed 1 new commit to master: http://git.io/StYizA
fcrepo-kitchen-sink/master ff1fa91 Esmé Cowles: Configuring fcrepo-sequencer-archive, including modified version of repository.json instead of inheriting from fcrepo-webapp
* github-ff leaves
<pivotal-bot>Esme Cowles added comment: "Installation instructions are now on the fcrepo-sequencer-archives README: ""16:08
https://github.com/futures/fcrep..." https://www.pivotaltracker.com/story/show/47830281
* travis-ci joins
[travis-ci] futures/fcrepo4#352 (master - 5ef0610 : Chris Beer): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/fa3b06e7c832...5ef0610156a6
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6260904
* travis-ci leaves
<pivotal-bot>Esme Cowles edited "Add fcrepo-sequencer-archives to kitchen-sink" https://www.pivotaltracker.com/story/show/4783028116:09
* ap2972 joins16:11
* VincentNG joins16:16
* github-ff joins16:18
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/XsX-WA
fcrepo4/master b440bfd Chris Beer: xml validity is good
* github-ff leaves
* ajs6f joins16:19
* github-ff joins16:20
[fcrepo-bagit-modeshape-federation-connector] barmintor pushed 1 new commit to master: http://git.io/dBnC2w
fcrepo-bagit-modeshape-federation-connector/master 40628f1 Benjamin Armintor: unit test BagItExtraPropertiesStore; add IT for property from bag-info.txt
* github-ff leaves
* ajs6f leaves16:21
<bljenkins>Yippie, build fixed!16:27
Project fcrepo4 build #351: FIXED in 10 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/351/
Chris Beer: xml validity is good
Project fcrepo-kitchen-sink build #160: FAILURE in 44 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/160/16:29
<escowles>^^ jenkins can't find fcrepo-sequencer-archives -- i need to add it to a public maven repo, right?16:31
<bljenkins>Project fcrepo-fixity build #152: SUCCESS in 2 min 18 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-fixity/152/16:32
<cbeer>escowles: is there a jenkins build for it?16:33
* kaarefc leaves
* ajs6f joins
<escowles>no
<cbeer>can you send me a link to the repo?
<escowles>https://github.com/futures/fcrepo-sequencer-archives16:34
<bljenkins>Project fcrepo-sequencer-archives build #1: SUCCESS in 1 min 35 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-sequencer-archives/1/16:36
* travis-ci joins16:38
[travis-ci] futures/fcrepo4#353 (master - b440bfd : Chris Beer): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/5ef0610156a6...b440bfd985f4
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6261772
* travis-ci leaves
* ap2972 leaves16:40
<bljenkins>Yippie, build fixed!
Project fcrepo-kitchen-sink build #161: FIXED in 3 min 39 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/161/
<nbanks>Is it normal to get something like this for the dsMime? application/octet-stream;boundary="----------------------------dd48c2c45352"16:41
<escowles>that looks like a mime envelope that didn't get parsed correctly -- the boundary should have been used to break up a message into parts16:42
<nbanks>thanks16:43
<ajs6f>WHere are you getting it?
<nbanks>that was from a curl post16:45
* escowles leaves
<ajs6f>To what endpoint?16:46
<nbanks>curl -u fedoraAdmin:fedoraAdmin -H "Content-Type:application/octet-stream" -F file=@fixture_OBJ_1_DS_1 -X POST "http://dev.local:8080/rest/objects/test:1/datastreams/DS_1"16:48
was the exact command16:49
<ajs6f>Hm.
<barmintor>possible the api class didn't recognize the multipart post, and just appended data to last named header?16:51
<ajs6f>That's plausible. Either we're not using the JAX-RS right, or there's a bug in it.
<nbanks>When I get the content back from Fedora it looks like this16:52
------------------------------6271f127ca48
Content-Disposition: form-data; name="file"
test
------------------------------6271f127ca48--
If I change the file=@fixture_OBJ_1_DS_1 to file=test16:53
From GET http://dev.local:8080/rest/objects/test:1/datastreams/DS_1/content
Is this normal as well?
<barmintor>nbanks: the last one tells curl to send a form parm named 'file" with value "test"16:54
<nbanks>I know16:55
<barmintor>so that looks pretty normal to me
<nbanks>posting the whole file would be too big to stick in the irc
but it has the same form
look I mean to say
In fedora3 if I got the content of a datastream it wouldn't be typically wrapped in16:56
------------------------------6271f127ca48
Content-Disposition: form-data; name="file"
------------------------------6271f127ca48--16:57
<barmintor>ah
do we actually supprt multipart POST to datastreams?17:01
<ajs6f>To single datastreams? I don't thin kso.
Only to multiple-update endpoints.
I think.
Have you tried making a "straight" (non-form) POST?17:04
<barmintor>nbanks: can you try POST with -d @fixture_OBJ_1_DS_1 instead?
<ajs6f>Exaclt.y
<nbanks>I'm trying right now
<ajs6f>There's been a little duscussion (and maybe should be more) about the extent to which we want to support forms-based API endpoints.17:05
<barmintor>I think we actually decided not to support form-posted data- cbeer might remember better
<ajs6f>That's what I remember.
<cbeer>yes, we did decide that
<barmintor>well, there we are
<ajs6f>But cbeer did the multiple update stuff that way because it was simple and straightforward.
Good reasons.
<cbeer>though i thought i did some work to support a well-known post form field
but i'm not seeing it17:06
so it might have been on a branch
<ajs6f>Which one?
<cbeer>whatever islandora used
<ajs6f>Oh, you mean just having a canconical one.
<nbanks>cool, makes sense to me I didn't look to much into curl commands until this very moment
<ajs6f>Right.
cUrl is the one API client to rulle them all and bind them.
<nbanks>I looked at the islandora code and it doesn't use multipart form data.
haha17:07
<cbeer>hm https://github.com/futures/fcrepo4/pull/29
<ajs6f>Maybe the new fcrepo4 compat Tuque dropped that?
<cbeer>oh, you also said " -H "Content-Type:application/octet-stream""
<nbanks>yes17:08
<cbeer>i wonder what curl does with that
<ajs6f>-H is just a plain header.
It doesn't trigger any other behvior, to my knowedlge.
<nbanks>as far as I can tell17:09
<cbeer>ajs6f: right, but if curl advertises the multipart form-data as application/octet-stream it won't get picked up by the right jax-rs endpoint, will it?
<ajs6f>No, good point. Not if the endpoint has been annotated w/ an appropriate @Consume17:10
nbanks: You are _lying_ to Fedora!
you gave it a multipart form and called it an octetstream
:)
<nbanks>:P obviously I don't know what I'm doing17:11
<ajs6f>IF you use form command line flags with Curl,
you needn't use any headers to show content-type.
Curl can and will add them itself.
<nbanks>good to konw17:12
<ajs6f>Like -F
And you don't noramlly need to say "-X POST", I don't believe. But you should check that.
The asumption is that most form submissions are POSTs.
Now I'm even more sure that we shouldn't support form endpoints.17:13
It makes an HTTP endpoint into an HTML endpoint.
-1
<VincentNG>ajs6f: if i define a new NodeType called fs:directory, how do i tell modeshape that a federated node is of that nodetype?
<ajs6f>mYnode.addMixin(), I believe.17:14
SO something like that.
Let me check.
Urg. My net connection is slow. You can probably look it up faster.17:15
But there are methods on the node object itself.
<VincentNG>something like this? node.addMixin("fs:directory")?
<ajs6f>Yeeeep.
What URI did you assign to new namespace "fs"?
<VincentNG>info:fedora/fs/17:16
* ap2972 joins
<ajs6f>Cool.
Just curious.
<VincentNG>just something i made up. is there anything else i need to do other than define that in my CND?
<ajs6f>http://www.day.com/specs/jcr/1.0/7.4.3_Assigning_Mixin_Node_Types.html
Nope.
The CND is a declarative document, which is nice.
<nbanks>curl -u fedoraAdmin:fedoraAdmin -d @fixture_OBJ_1_DS_1 -X POST "http://dev.local:8080/rest/objects/test:1/datastreams/DS_1"17:17
results in an empty datastream...
<ajs6f>You just put what you need there, and make sure that the JCR picks it up at initialization (or later).
<VincentNG>I'm seeing things like this: org.modeshape.jcr.value.ValueFormatException: Error converting "fs:directory" from String to a Name
<ajs6f>Is there more to the stacktrace?
<VincentNG>yes
i'll gist it
<ajs6f>afk be back in five17:18
* ajs6f leaves17:19
* ajs6f joins17:21
<VincentNG>here's the stacktrace when i addMixin: https://gist.github.com/vnguyen745/536726717:23
<barmintor>VincentNG: You need to have the fs namespace defined in your cnd17:25
does that make sense>
<VincentNG>i did. i have a filesystem-node-type.cnd17:26
i have this in there: <fs = 'info:fedora/fs/'>
<ajs6f>Do you see any errors at startup?
<VincentNG>nope. no errors during startup.
added my CND to repository.json: "node-types" : ["fedora-node-types.cnd", "filesystem-node-types.cnd"]17:27
<ajs6f>Are you using the MODE-supplied CND editor or working by hand (wondering whtehr theres any syntaz errors in the CND file>)
<VincentNG>i'm using CND editor plugin for Eclipse
<ajs6f>good
<barmintor>also, is the cnd file in the node-types array in your repo json conifg?
<ajs6f>Not sure whether you can add mutliple CND files int he JSON. We should check that.17:28
<barmintor>pretty sure you can
I think I'm doing it in the bagit conn
<ajs6f>ok
<VincentNG>i saw barmintor do it first :-)
* barmintor checks to be sure
oh yeah
values til Sunday17:29
<ajs6f>Eh?
<barmintor>you can add values to the node-types array from now to Sunday
<ajs6f>Well, hurry up! We have to get all of our node types in before Sunday!
<VincentNG>my repo.json has this: "node-types" : ["fedora-node-types.cnd", "filesystem-node-types.cnd"]
<barmintor>it's like you never talked to me grandfather
<ajs6f>{sigh}
I got to run. VincentNG: I'll check in tomorrow if you're still having this annoyance.17:30
<barmintor>VincentNG: and you're launching with that json config, right?
<ajs6f>See y'all!
<barmintor>bye ajs6f
* ajs6f leaves
<barmintor>VincentNG: I'm just covering all the basics, sorry if I'm trying your patience
<VincentNG>it's the default repository.json file under fcrepo-webapp
i didn't create a new one17:31
<barmintor>but you're running integration tests?
<VincentNG>no. i'm getting that when i grab a federated node and try to addMixin("fs:directory")17:32
<barmintor>right, but in what context are you doing that
in a junit test?
<VincentNG>no, i just put it in a dummy rest api for testing.17:33
not really in IT
<barmintor>ok, but you are giving it a spring config, and that config is pointing to a json config?
<VincentNG>but i should've done it in the IT. didn't really think it mattered tho
yes
<barmintor>can you double check that the spring config is pointing to the json config you edited?17:34
<VincentNG>so you think the config's not loading the CND ?
<nbanks>sorry to interrupt, but it turns out if the first byte of a file is 0 it ignores the rest of the content and a zero length file gets ingested, might be a bug in curl though.17:35
<barmintor>nbanks: if you have an example file, we can add it to an IT to be sure
VincentNG: there's just so many configurtions, it's easy to not have yours loaded.17:36
<VincentNG>i know what you mean
<barmintor>VincentNG: if you turn the logging up to debug or trace, you should see some messages from MODE about what node types it is loading17:37
<VincentNG>but it seems to check out tho. spring/repo.xml points to config/repository.json which contains filesystem-node-type.cnd
where do i turn up logging?
<barmintor>in the logback xml file
logback-test.xml, probably
<nbanks>how shall I send it?17:38
<VincentNG>nbanks: i missed your question before. what are you trying to send and how are you sending it?
<nbanks>I'm trying to post a file who's first byte is 0 and its second byte has a non-zero value, the file gets ingested as a datastream but when I retrieve it via a GET the file it produces is empty.17:40
<VincentNG>what's your curl look like?
<nbanks>curl -u fedoraAdmin:fedoraAdmin -d @test.txt "http://dev.local:8080/rest/objects/test:1/datastreams/DS_1"17:41
It might be a bug in curl though
<VincentNG>it might be the same, but did you try --data-binary instead of -d?17:42
or maybe put quotes around the "@text" i wonder it it's reading the in as the content itself17:43
i'm just guessing here as i'm no expert
<nbanks>You right
<VincentNG>*"@test.txt"
<nbanks>--data-binray
<VincentNG>it worked?
<nbanks>yup!17:44
thanks!
<VincentNG>sweet!!
* ap2972 leaves17:52
* VincentNG leaves18:05
* ap2972 joins18:55
* github-ff joins19:05
[fcrepo-bagit-modeshape-federation-connector] barmintor pushed 1 new commit to master: http://git.io/gLmLcA
fcrepo-bagit-modeshape-federation-connector/master 9e3a294 Benjamin Armintor: refactor to use the LOC writers; unit test the BagInfo subclass
* github-ff leaves
* github-ff joins19:14
[fcrepo-bagit-modeshape-federation-connector] barmintor pushed 1 new commit to master: http://git.io/RT9Y6w
fcrepo-bagit-modeshape-federation-connector/master a6b20e1 Benjamin Armintor: cleaning up imports
* github-ff leaves
* barmintor leaves
* ap2972 leaves19:53
* ap2972 joins20:56
* ap2972 leaves21:01
* nbanks leaves21:34
* VincentNG joins22:46
* VincentNG leaves