diff --git a/x-pack/legacy/plugins/reporting/export_types/png/server/execute_job/index.js b/x-pack/legacy/plugins/reporting/export_types/png/server/execute_job/index.js index 7fe91d4cdd4cb2..def268221bd92c 100644 --- a/x-pack/legacy/plugins/reporting/export_types/png/server/execute_job/index.js +++ b/x-pack/legacy/plugins/reporting/export_types/png/server/execute_job/index.js @@ -7,7 +7,7 @@ import * as Rx from 'rxjs'; import { i18n } from '@kbn/i18n'; import { mergeMap, catchError, map, takeUntil } from 'rxjs/operators'; -import { oncePerServer } from '../../../../server/lib/once_per_server'; +import { oncePerServer } from '../../../../server/lib'; import { generatePngObservableFactory } from '../lib/generate_png'; import { decryptJobHeaders, @@ -45,7 +45,8 @@ function executeJobFn(server) { content_type: 'image/png', content: buffer.toString('base64'), size: buffer.byteLength, - })) + })), + catchError(err => Rx.throwError(err)) ); const stop$ = Rx.fromEventPattern(cancellationToken.on); diff --git a/x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/execute_job/index.js b/x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/execute_job/index.js index f128ae7c97f34a..02df56a3131ad1 100644 --- a/x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/execute_job/index.js +++ b/x-pack/legacy/plugins/reporting/export_types/printable_pdf/server/execute_job/index.js @@ -7,7 +7,7 @@ import * as Rx from 'rxjs'; import { mergeMap, catchError, map, takeUntil } from 'rxjs/operators'; import { i18n } from '@kbn/i18n'; -import { oncePerServer } from '../../../../server/lib/once_per_server'; +import { oncePerServer } from '../../../../server/lib'; import { generatePdfObservableFactory } from '../lib/generate_pdf'; import { compatibilityShimFactory } from './compatibility_shim'; import { @@ -55,7 +55,8 @@ function executeJobFn(server) { content_type: 'application/pdf', content: buffer.toString('base64'), size: buffer.byteLength, - })) + })), + catchError(err => Rx.throwError(err)) ); const stop$ = Rx.fromEventPattern(cancellationToken.on); diff --git a/x-pack/legacy/plugins/reporting/server/browsers/chromium/index.js b/x-pack/legacy/plugins/reporting/server/browsers/chromium/index.js index 3ff480d98dc6c3..551b5bf399c550 100644 --- a/x-pack/legacy/plugins/reporting/server/browsers/chromium/index.js +++ b/x-pack/legacy/plugins/reporting/server/browsers/chromium/index.js @@ -9,9 +9,5 @@ import { HeadlessChromiumDriverFactory } from './driver_factory'; export { paths } from './paths'; export async function createDriverFactory(binaryPath, logger, browserConfig, queueTimeout) { - if (browserConfig.disableSandbox) { - logger.warning(`Enabling the Chromium sandbox provides an additional layer of protection.`); - } - return new HeadlessChromiumDriverFactory(binaryPath, logger, browserConfig, queueTimeout); } diff --git a/x-pack/legacy/plugins/reporting/server/browsers/create_browser_driver_factory.ts b/x-pack/legacy/plugins/reporting/server/browsers/create_browser_driver_factory.ts index ab35074d8b3f7e..3ed78acbc2b190 100644 --- a/x-pack/legacy/plugins/reporting/server/browsers/create_browser_driver_factory.ts +++ b/x-pack/legacy/plugins/reporting/server/browsers/create_browser_driver_factory.ts @@ -23,21 +23,17 @@ export async function createBrowserDriverFactory(server: KbnServer) { const BROWSER_CONFIG = CAPTURE_CONFIG.browser[BROWSER_TYPE]; const REPORTING_TIMEOUT = config.get('xpack.reporting.queue.timeout'); + if (BROWSER_CONFIG.disableSandbox) { + logger.warning(`Enabling the Chromium sandbox provides an additional layer of protection.`); + } if (BROWSER_AUTO_DOWNLOAD) { await ensureBrowserDownloaded(BROWSER_TYPE); } try { - const browser = BROWSERS_BY_TYPE[BROWSER_TYPE]; + const browser = BROWSERS_BY_TYPE[BROWSER_TYPE]; // NOTE: unecessary indirection: this is always a Chromium browser object, as of PhantomJS removal const { binaryPath } = await installBrowser(logger, browser, DATA_DIR); - const browserDriverFactory = browser.createDriverFactory( - binaryPath, - logger, - BROWSER_CONFIG, - REPORTING_TIMEOUT - ); - logger.debug(`Browser installed at ${browserDriverFactory.binaryPath}`); - return browserDriverFactory; + return browser.createDriverFactory(binaryPath, logger, BROWSER_CONFIG, REPORTING_TIMEOUT); } catch (error) { if (error.cause && ['EACCES', 'EEXIST'].includes(error.cause.code)) { logger.error( diff --git a/x-pack/legacy/plugins/reporting/server/browsers/install.ts b/x-pack/legacy/plugins/reporting/server/browsers/install.ts index 383902cf1a639a..ed2fc3df459b8a 100644 --- a/x-pack/legacy/plugins/reporting/server/browsers/install.ts +++ b/x-pack/legacy/plugins/reporting/server/browsers/install.ts @@ -47,6 +47,7 @@ export async function installBrowser( await chmod(binaryPath, '755'); } + logger.debug(`Browser installed at ${binaryPath}`); return { binaryPath, }; diff --git a/x-pack/legacy/plugins/reporting/server/lib/enqueue_job.js b/x-pack/legacy/plugins/reporting/server/lib/enqueue_job.js index cde06262d59962..dfb77af96d56d9 100644 --- a/x-pack/legacy/plugins/reporting/server/lib/enqueue_job.js +++ b/x-pack/legacy/plugins/reporting/server/lib/enqueue_job.js @@ -15,7 +15,8 @@ function enqueueJobFn(server) { const browserType = config.get('xpack.reporting.capture.browser.type'); const exportTypesRegistry = server.plugins.reporting.exportTypesRegistry; - return async function enqueueJob(exportTypeId, jobParams, user, headers, request) { + return async function enqueueJob(parentLogger, exportTypeId, jobParams, user, headers, request) { + const logger = parentLogger.clone(['queue-job']); const exportType = exportTypesRegistry.getById(exportTypeId); const createJob = exportType.createJobFactory(server); const payload = await createJob(jobParams, headers, request); @@ -31,7 +32,7 @@ function enqueueJobFn(server) { job.on(esqueueEvents.EVENT_JOB_CREATED, (createdJob) => { if (createdJob.id === job.id) { - server.log(['reporting', 'esqueue', 'info'], `Successfully queued job: ${createdJob.id}`); + logger.info(`Successfully queued job: ${createdJob.id}`); resolve(job); } }); diff --git a/x-pack/legacy/plugins/reporting/server/routes/index.ts b/x-pack/legacy/plugins/reporting/server/routes/index.ts index 853b184a267421..afb4d2db0ef8a1 100644 --- a/x-pack/legacy/plugins/reporting/server/routes/index.ts +++ b/x-pack/legacy/plugins/reporting/server/routes/index.ts @@ -35,7 +35,7 @@ export function registerRoutes(server: KbnServer, logger: Logger) { const user = request.pre.user; const headers = request.headers; - const job = await enqueueJob(exportTypeId, jobParams, user, headers, request); + const job = await enqueueJob(logger, exportTypeId, jobParams, user, headers, request); // return the queue's job information const jobJson = job.toJSON();