Skip to content

Commit

Permalink
Add comments to query handlers
Browse files Browse the repository at this point in the history
Signed-off-by: Tomoyuki Morita <[email protected]>
  • Loading branch information
ykmr1224 committed May 6, 2024
1 parent 45122ec commit f8d8728
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
import org.opensearch.sql.spark.leasemanager.model.LeaseRequest;
import org.opensearch.sql.spark.response.JobExecutionResponseReader;

/**
* The handler for batch query.
* With batch query, queries are executed as single batch. The queries are sent along with job
* execution request to spark.
*/
@RequiredArgsConstructor
public class BatchQueryHandler extends AsyncQueryHandler {
private final EMRServerlessClient emrServerlessClient;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@
import org.opensearch.sql.spark.flint.operation.FlintIndexOpFactory;
import org.opensearch.sql.spark.response.JobExecutionResponseReader;

/** Handle Index DML query. includes * DROP * ALT? */
/**
* The handler for Index DML (Data Manipulation Language) query.
* Handles DROP/ALT/VACUUM operation for flint indices.
* It will stop streaming query job as needed (e.g. when the flint index is automatically updated
* by a streaming query, the streaming query is stopped when the index is dropped)
*/
@RequiredArgsConstructor
public class IndexDMLHandler extends AsyncQueryHandler {
private static final Logger LOG = LogManager.getLogger();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@
import org.opensearch.sql.spark.leasemanager.model.LeaseRequest;
import org.opensearch.sql.spark.response.JobExecutionResponseReader;

/**
* The handler for interactive query.
* With interactive query, a session will be first established and then the session will be reused
* for the following queries(statements). Session is an abstraction of spark job, and once the job
* is started, the job will continuously poll the statements and execute query specified in it.
*/
@RequiredArgsConstructor
public class InteractiveQueryHandler extends AsyncQueryHandler {
private final SessionManager sessionManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@
import org.opensearch.sql.spark.leasemanager.LeaseManager;
import org.opensearch.sql.spark.response.JobExecutionResponseReader;

/** Handle Refresh Query. */
/**
* The handler for refresh query.
* Refresh query is one time query request to refresh(update) flint index, and new job is submitted
* to Spark.
*/
public class RefreshQueryHandler extends BatchQueryHandler {

private final FlintIndexMetadataService flintIndexMetadataService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@
import org.opensearch.sql.spark.leasemanager.model.LeaseRequest;
import org.opensearch.sql.spark.response.JobExecutionResponseReader;

/** Handle Streaming Query. */
/**
* The handler for streaming query.
* Streaming query is a job to continuously update flint index.
* Once started, the job can be stopped by IndexDML query.
*/
public class StreamingQueryHandler extends BatchQueryHandler {
private final EMRServerlessClient emrServerlessClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@

import org.opensearch.sql.spark.dispatcher.model.IndexDMLResult;

/**
* Abstraction over the IndexDMLResult storage.
* It stores the result of IndexDML query execution.
*/
public interface IndexDMLResultStorageService {
IndexDMLResult createIndexDMLResult(IndexDMLResult result, String datasourceName);
}

0 comments on commit f8d8728

Please sign in to comment.