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 b454a2c commit 032cf98
Show file tree
Hide file tree
Showing 5 changed files with 27 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 @@ -36,7 +36,12 @@
import org.opensearch.sql.spark.flint.operation.FlintIndexOpVacuum;
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 @@ -21,7 +21,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

0 comments on commit 032cf98

Please sign in to comment.