Table of Contents

Time/Place

This meeting is a hybrid teleconference and IRC chat. Anyone is welcome to join...here's the info:

Attendees

Agenda

  1. Jersey 2 opportunities
  2. One-click release considerations
  3. F4 kernel abstraction layer

Previous Actions

  •  

Status

Osman
Nigel
  • Making sure event's get placed on the bus as expected for the JMS indexer to function correctly, documenting inline all the consequences related to these changes in the simple observer. Updating integration tests as well.
Esme
  • Running benchmarks on local hardware (MacOSX), focusing on Fedora 3 v. Fedora 4 ingest performance, comparing the impact of different Modeshape/Infinispan configurations, file sizes, and scalability over ingesting larger numbers of objects (25K objects).  See Comparing Fedora 3 and Fedora 4.
Mike
  • Implementing basic versioning to create new versions with each update operation (or at the completion of a transaction of multiple update operations).  Discovered some implications for authz relating to the creation of child nodes when a version is made.  Will work through use cases and add functionality and/or tests for the http REST API endpoints to meet those needs.
Eric
  • Developing FileSystemConnector features to address projected use cases 1) large files, 2) dynamic file system, 3)asynch checksums, 4) import to internal node.
Frank
  • Running benchmarks on AWS at the moment to complete the results on the wiki page at: Performance evaluation on AWS
  • It seems that there is still an issue on AWS when using files larger than a certain threshold. I can ingest 100 files with 10MB each withouth problems, but when ingesting 100 files with a size of 50MB I get the following exceptions: https://gist.github.com/fasseg/7467108
  • I will try setting the replication timeout to a higher value in order to get the tests running
Adam
Chris
  • Built out SPARQL endpoint (for simple searches), and pre-registered all the DC Element Set
  • Made minor tweaks to the HTML UI
  • Reduced excessive logging when running tests
Ben
  • Discovered the exception-handling principal that was preventing some exception mapping with injected JcrSessions
  • Working on why transaction-sessions are being closed
Andrew

Minutes

Andrew Woods pointed out that there is a well-used practice of sending out agenda page beforehand and if no agenda items show up before the meeting, it is canceled.

Unknown User (escowles@ucsd.edu) suggested that weekly meetings were important now to keep fedora3 and fedora4 development in sync, but once development slows less regular meetings would be OK.

Jersey 2 Opportunities (and JAXRS2)

  • New "cool" capabilities
    • new way to inject things (like sessions)
    • JAXRS2 has a dispose method in the factory that could be used when we know it's going out of scope
  • Difficulties updating
    • guava propagate() method has been used to throw checked exceptions when disallowed in method signature
      • if exception is not a WebApplicationException it will not go into the exception mapping routines if it's emitted during the injection of resources
      • Benjamin Armintor is wrapping exceptions with subclasses of WebApplicationException
      • If exception types defined in kernel are thrown by http-api classes, they need to be wrapped in these extension classes
      • example cases including returning 410 status (no longer available) as in an expired transaction
    • jcr.session appears to be closed when its not in transaction tests as a result of session.logout in a finally block

One-Click release (pre beta)

  • Goal to have some sort of release before holidays including a "one-click" release.
  • We should know by the end of this week whether this will be possible
  • What is a one-click release?
    • Andrew will write up a document that describes what happens and what steps are necessary to move to a real install.
      • A. Soroka  wondered if it would be a "walk through", "video", "interactive documentation within the repository"
      • Andrew Woods said it would likely be a wiki walk-through, but that there's some focus on improving/refining the UI
      • Unknown User (escowles@ucsd.edu) suggested that except for large files the UI is pretty good now, though we should make an easier way to add properties.
      • A. Soroka suggested we should not have an end point for mutations on a single property (possibly new endpoints), but if we're only talking about changes to the HTML UI that's fine
        • Esme said if we could do it with javascript without creating new endpoints
        • A. Soroka  and Unknown User (escowles@ucsd.edu) agreed that it might be ideal to be able to click on a property which then becomes editable, have a property dropdown to create new properties, etc.
        • We should determine whether there are low-hanging fruit here
      • Michael Durbin brought up his interest in having views that were dependent on object types and other "fedora-3-like" constructs but conceded they were less relevant since we do not impose and such structural requirements to node organization.
    • Andrew Woods pointed out that we should fix the restart permGen issue
    • Mike objected to the term "install" in the name
    • A. Soroka suggested we make a good easy walkthrough for clustering
    • Hydra/Islandora running
      • Chris Beer wonders if it's high enough priority
      • Nigel Banks also wonders if there's time before Christmas
      • we'll see about moving it down/off the key capabilities list for this release

Fedora 4 Kernel Abstraction Layer

  • As a result of a comment on IRC, possibly relating to our handling of sessions and shortcomings of our abstraction
  • Assumption: The kernel API should offer all the capabilities a user would want if they had direct java integration.  Logic on the http-api layer would be leveraging kernel functionality and no business logic would be at that layer.
  • Sessions, versioning are handled at the http-api level
  • Andrew Woods is advocating this sort of separation of concerns (http-api should just deal with http stuff and kernel should have complete functionality)
  • frank asseg has a use case for this.

New Actions

.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels