Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 369359 - Improve performance of QueryRequest/Indication
Summary: Improve performance of QueryRequest/Indication
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.2   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Eike Stepper CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard: Lighter, Faster and Better
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-23 03:25 EST by Ronald Krijgsheld CLA
Modified: 2013-06-27 03:31 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ronald Krijgsheld CLA 2012-01-23 03:25:24 EST
Build Identifier: CDO - streams/4.0-mainenance

The Query indication when responding flushes at to points to quickly send info to the client. 
1st part: contains only request id.
2d  part: the revisions/cdoidreferences
last part: boolean false. indicating end.

However it seems that this also can have a negative impact on the client. The client sometimes needs to wait for the following packets to arrive.

In case of XREF queries the functionality to flush everything as quickly to the client asap is not needed as there is no API for client to a CloseableIterator. So, this an xref query cannot be closed/canceled.

This, also means that in case of an xref query the QueryCancelRequest is not needed.




Reproducible: Always
Comment 1 Eike Stepper CLA 2012-08-14 22:51:20 EDT
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Comment 2 Eike Stepper CLA 2012-12-30 12:38:40 EST
org.eclipse.emf.cdo.common.util.CDOQueryInfo.PARAM_DISABLE_RESPONSE_FLUSHING:

  /**
   * The name of a {@link Boolean} typed {@link #getParameters() parameter} to influence automatic response flushing (the default) after each query result.
   *
   * @since 4.2
   */
  public static final String PARAM_DISABLE_RESPONSE_FLUSHING = "disable.response.flushing";
Comment 3 Eike Stepper CLA 2012-12-30 12:39:22 EST
(In reply to comment #0)
> In case of XREF queries the functionality to flush everything as quickly to the
> client asap is not needed as there is no API for client to a CloseableIterator.
> So, this an xref query cannot be closed/canceled.

That's not true according to org.eclipse.emf.cdo.view.CDOView.queryXRefsAsync(Set<CDOObject>, EReference...).
Comment 4 Eike Stepper CLA 2012-12-30 12:39:50 EST
commit 4b532ef33bc8fcfa968830333130a380496698c1
Comment 5 Eike Stepper CLA 2013-06-27 03:31:05 EDT
Available in R20130613-1157 (4.2)