Github user tgravescs commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21688#discussion_r232736621
  
    --- Diff: 
core/src/main/scala/org/apache/spark/status/api/v1/StagesResource.scala ---
    @@ -102,4 +103,120 @@ private[v1] class StagesResource extends 
BaseAppResource {
         withUI(_.store.taskList(stageId, stageAttemptId, offset, length, 
sortBy))
       }
     
    +  // This api needs to stay formatted exactly as it is below, since, it is 
being used by the
    +  // datatables for the stages page.
    +  @GET
    +  @Path("{stageId: \\d+}/{stageAttemptId: \\d+}/taskTable")
    +  def taskTable(
    +    @PathParam("stageId") stageId: Int,
    +    @PathParam("stageAttemptId") stageAttemptId: Int,
    +    @QueryParam("details") @DefaultValue("true") details: Boolean,
    +    @Context uriInfo: UriInfo):
    +  HashMap[String, Object] = {
    +    withUI { ui =>
    +      val uriQueryParameters = uriInfo.getQueryParameters(true)
    +      val totalRecords = uriQueryParameters.getFirst("numTasks")
    +      var isSearch = false
    +      var searchValue: String = null
    +      var filteredRecords = totalRecords
    +      var _tasksToShow: Seq[TaskData] = null
    +      // The datatables client API sends a list of query parameters to the 
server which contain
    +      // information like the columns to be sorted, search value typed by 
the user in the search
    +      // box, pagination index etc. For more information on these query 
parameters,
    +      // refer https://datatables.net/manual/server-side.
    +      if (uriQueryParameters.getFirst("search[value]") != null &&
    +        uriQueryParameters.getFirst("search[value]").length > 0) {
    +        _tasksToShow = doPagination(uriQueryParameters, stageId, 
stageAttemptId, true,
    +          totalRecords.toInt)
    +        isSearch = true
    --- End diff --
    
    we set isSearch and pass in true above, just set this above and pass into 
doPagination.
    
    Really I think you could simplify this and do the if then set isSearch and 
only have 1 call to doPagination outside the if.  


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to