Skip to content

ObservingSailDataset needs to observe read data for optimized ordered reads #5671

@nguyenm100

Description

@nguyenm100

Current Behavior

If you want to use the order pushdown logic (experimental in SailDataset), to preserve transactional isolation consistency, you'll need to add:

@OverRide
public CloseableIteration<? extends Statement> getStatements(StatementOrder order, Resource subj, IRI pred, Value obj,
Resource... contexts) throws SailException {
observer.observe(subj, pred, obj, contexts);
return super.getStatements(order, subj, pred, obj, contexts);
}

to ObservingSailDataset (a mirror of the non order version) for things to work.

Expected Behavior

everything to work though serialized isolation probably won't if using pushdown order logic

Steps To Reproduce

override

    public Set<StatementOrder> getSupportedOrders(Resource subj, IRI pred, Value obj, Resource... contexts) 
   public CloseableIteration<? extends Statement> getStatements(StatementOrder order, Resource subj, IRI pred,
                                                                 Value obj, Resource... contexts) throws SailException

in your SailDataset derived class.

Version

5.2.x

Are you interested in contributing a solution yourself?

None

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions