@Override
    public void setMetadataUpdateResults(List<ConnectorMetadataUpdateHandle> results)
    {
        boundedExecutor.execute(() -> updateResultAsync(results));
    }
@Test
    public void testSetMetadataUpdateResults()
    {
        HiveMetadataUpdater hiveMetadataUpdater = new HiveMetadataUpdater(EXECUTOR);

        // add Request
        hiveMetadataUpdater.addMetadataUpdateRequest(TEST_SCHEMA_NAME, TEST_TABLE_NAME, Optional.of(TEST_PARTITION_NAME), TEST_WRITER_INDEX);
        List<ConnectorMetadataUpdateHandle> hiveMetadataUpdateRequests = hiveMetadataUpdater.getPendingMetadataUpdateRequests();
        assertEquals(hiveMetadataUpdateRequests.size(), 1);
        HiveMetadataUpdateHandle request = (HiveMetadataUpdateHandle) hiveMetadataUpdateRequests.get(0);

        // create Result
        HiveMetadataUpdateHandle hiveMetadataUpdateResult = new HiveMetadataUpdateHandle(request.getRequestId(), request.getSchemaTableName(), request.getPartitionName(), Optional.of(TEST_FILE_NAME));

        // set the result
        hiveMetadataUpdater.setMetadataUpdateResults(ImmutableList.of(hiveMetadataUpdateResult));

        try {
            // get the fileName
            String fileName = hiveMetadataUpdater.getMetadataResult(TEST_WRITER_INDEX).get();

            // assert the fileName
            assertEquals(fileName, TEST_FILE_NAME);

            // assert the pending request queue size is zero
            assertEquals(hiveMetadataUpdater.getPendingMetadataUpdateRequests().size(), 0);
        }
        catch (InterruptedException | ExecutionException e) {
            fail("Expected to succeed and get the fileName metadata result");
        }
    }