@ductape/sdk 0.0.4-v55 → 0.0.4-v57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brokers/brokers.service.d.ts +24 -0
- package/dist/brokers/brokers.service.js +72 -0
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/graph/graphs.service.d.ts +1 -1
- package/dist/graph/graphs.service.js +1 -1
- package/dist/graph/graphs.service.js.map +1 -1
- package/dist/index.d.ts +542 -58
- package/dist/index.js +773 -97
- package/dist/index.js.map +1 -1
- package/dist/products/services/products.service.d.ts +2 -2
- package/dist/resilience/fallback.service.d.ts +60 -11
- package/dist/resilience/fallback.service.js +278 -23
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/healthcheck.service.d.ts +48 -0
- package/dist/resilience/healthcheck.service.js +556 -1
- package/dist/resilience/healthcheck.service.js.map +1 -1
- package/dist/resilience/quota.service.d.ts +42 -53
- package/dist/resilience/quota.service.js +364 -369
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience.service.js +38 -3
- package/dist/resilience/resilience.service.js.map +1 -1
- package/dist/resilience/types/index.d.ts +35 -1
- package/dist/resilience/types/index.js +3 -0
- package/dist/resilience/types/index.js.map +1 -1
- package/dist/storage/storage.service.d.ts +25 -0
- package/dist/storage/storage.service.js +39 -0
- package/dist/storage/storage.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,11 +3,17 @@
|
|
|
3
3
|
* Fallback Service
|
|
4
4
|
*
|
|
5
5
|
* Code-first API for defining and managing fallbacks with sequential failover.
|
|
6
|
+
* Uses ProductBuilder for CRUD operations and ProcessorService for execution.
|
|
7
|
+
* Implements health-aware sequential failover with minimal latency.
|
|
6
8
|
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
7
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
13
|
exports.FallbackService = exports.FallbackError = void 0;
|
|
9
14
|
const types_1 = require("./types");
|
|
10
|
-
const
|
|
15
|
+
const products_service_1 = __importDefault(require("../products/services/products.service"));
|
|
16
|
+
const processor_service_1 = __importDefault(require("../processor/services/processor.service"));
|
|
11
17
|
/**
|
|
12
18
|
* Error class for fallback operations
|
|
13
19
|
*/
|
|
@@ -395,15 +401,55 @@ class RecordingFallbackContext {
|
|
|
395
401
|
* Fallback Service
|
|
396
402
|
*
|
|
397
403
|
* Provides code-first API for defining, creating, and managing fallbacks.
|
|
404
|
+
* Uses ProductBuilder for CRUD operations and ProcessorService for execution.
|
|
405
|
+
* Implements health-aware sequential failover with minimal latency.
|
|
398
406
|
*/
|
|
399
407
|
class FallbackService {
|
|
400
408
|
constructor(config) {
|
|
401
|
-
this.
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
base_url: config.base_url,
|
|
405
|
-
});
|
|
409
|
+
this.productBuilders = new Map();
|
|
410
|
+
this.processorCache = new Map();
|
|
411
|
+
this.config = config;
|
|
406
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Gets or creates a cached ProductBuilder
|
|
415
|
+
*/
|
|
416
|
+
async getProductBuilder(productTag) {
|
|
417
|
+
let builder = this.productBuilders.get(productTag);
|
|
418
|
+
if (!builder) {
|
|
419
|
+
builder = new products_service_1.default({
|
|
420
|
+
workspace_id: this.config.workspace_id,
|
|
421
|
+
public_key: this.config.public_key,
|
|
422
|
+
user_id: this.config.user_id,
|
|
423
|
+
token: this.config.token,
|
|
424
|
+
env_type: this.config.env_type,
|
|
425
|
+
redis_client: this.config.redis_client,
|
|
426
|
+
queues: this.config.queues,
|
|
427
|
+
});
|
|
428
|
+
await builder.initializeProductByTag(productTag);
|
|
429
|
+
this.productBuilders.set(productTag, builder);
|
|
430
|
+
}
|
|
431
|
+
return builder;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Gets or creates a cached ProcessorService for minimal latency
|
|
435
|
+
*/
|
|
436
|
+
getProcessor(productTag) {
|
|
437
|
+
let processor = this.processorCache.get(productTag);
|
|
438
|
+
if (!processor) {
|
|
439
|
+
processor = new processor_service_1.default({
|
|
440
|
+
workspace_id: this.config.workspace_id,
|
|
441
|
+
public_key: this.config.public_key,
|
|
442
|
+
user_id: this.config.user_id,
|
|
443
|
+
token: this.config.token,
|
|
444
|
+
env_type: this.config.env_type,
|
|
445
|
+
redis_client: this.config.redis_client,
|
|
446
|
+
queues: this.config.queues,
|
|
447
|
+
});
|
|
448
|
+
this.processorCache.set(productTag, processor);
|
|
449
|
+
}
|
|
450
|
+
return processor;
|
|
451
|
+
}
|
|
452
|
+
// ==================== Code-First API ====================
|
|
407
453
|
/**
|
|
408
454
|
* Define a fallback using code-first API
|
|
409
455
|
*
|
|
@@ -456,54 +502,263 @@ class FallbackService {
|
|
|
456
502
|
}
|
|
457
503
|
return definedFallback;
|
|
458
504
|
}
|
|
505
|
+
// ==================== CRUD via ProductBuilder ====================
|
|
459
506
|
/**
|
|
460
507
|
* Create a fallback from a defined fallback or schema
|
|
461
508
|
*/
|
|
462
509
|
async create(product, fallback) {
|
|
463
510
|
const schema = 'compile' in fallback ? fallback.compile() : fallback;
|
|
464
|
-
|
|
511
|
+
const builder = await this.getProductBuilder(product);
|
|
512
|
+
const productFallback = {
|
|
513
|
+
tag: schema.tag,
|
|
514
|
+
name: schema.name || schema.tag,
|
|
515
|
+
description: schema.description || '',
|
|
516
|
+
input: schema.input,
|
|
517
|
+
options: schema.options.map(opt => ({
|
|
518
|
+
app: opt.app,
|
|
519
|
+
type: types_1.FeatureEventTypes.ACTION,
|
|
520
|
+
event: opt.event,
|
|
521
|
+
input: opt.input || {},
|
|
522
|
+
output: opt.output || {},
|
|
523
|
+
retries: opt.retries || 2,
|
|
524
|
+
healthcheck: opt.healthcheck,
|
|
525
|
+
check_interval: opt.check_interval,
|
|
526
|
+
})),
|
|
527
|
+
};
|
|
528
|
+
await builder.createFallback(productFallback);
|
|
529
|
+
return await builder.fetchFallback(schema.tag);
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Fetch a fallback by tag
|
|
533
|
+
*/
|
|
534
|
+
async fetch(product, tag) {
|
|
535
|
+
const builder = await this.getProductBuilder(product);
|
|
536
|
+
return builder.fetchFallback(tag);
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Fetch all fallbacks for a product
|
|
540
|
+
*/
|
|
541
|
+
async fetchAll(product) {
|
|
542
|
+
const builder = await this.getProductBuilder(product);
|
|
543
|
+
return builder.fetchFallbacks();
|
|
465
544
|
}
|
|
466
545
|
/**
|
|
467
546
|
* Update an existing fallback
|
|
468
547
|
*/
|
|
469
548
|
async update(product, tag, fallback) {
|
|
549
|
+
const builder = await this.getProductBuilder(product);
|
|
470
550
|
if ('handler' in fallback && fallback.handler && fallback.input) {
|
|
471
551
|
const ctx = new RecordingFallbackContext(fallback.input);
|
|
472
552
|
await fallback.handler(ctx);
|
|
473
553
|
const schema = ctx.build(tag, fallback.name, fallback.description);
|
|
474
|
-
|
|
554
|
+
await builder.updateFallback(tag, {
|
|
555
|
+
name: schema.name,
|
|
556
|
+
description: schema.description,
|
|
557
|
+
input: schema.input,
|
|
558
|
+
options: schema.options.map(opt => ({
|
|
559
|
+
app: opt.app,
|
|
560
|
+
type: types_1.FeatureEventTypes.ACTION,
|
|
561
|
+
event: opt.event,
|
|
562
|
+
input: opt.input || {},
|
|
563
|
+
output: opt.output || {},
|
|
564
|
+
retries: opt.retries || 2,
|
|
565
|
+
healthcheck: opt.healthcheck,
|
|
566
|
+
check_interval: opt.check_interval,
|
|
567
|
+
})),
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
await builder.updateFallback(tag, fallback);
|
|
475
572
|
}
|
|
476
|
-
return await this.apiService.updateFallback(product, tag, fallback);
|
|
477
573
|
}
|
|
478
574
|
/**
|
|
479
|
-
*
|
|
575
|
+
* Delete a fallback
|
|
480
576
|
*/
|
|
481
|
-
async
|
|
482
|
-
|
|
577
|
+
async delete(product, tag) {
|
|
578
|
+
const builder = await this.getProductBuilder(product);
|
|
579
|
+
await builder.deleteFallback(tag);
|
|
483
580
|
}
|
|
581
|
+
// ==================== Execution - Health-Aware Sequential Failover ====================
|
|
484
582
|
/**
|
|
485
|
-
*
|
|
583
|
+
* Run a fallback with health-aware sequential failover
|
|
584
|
+
*
|
|
585
|
+
* Optimization strategies:
|
|
586
|
+
* 1. Parallel health status lookups from Redis (O(1) per provider)
|
|
587
|
+
* 2. Skip unhealthy providers immediately
|
|
588
|
+
* 3. Cached processor instances to avoid re-initialization
|
|
589
|
+
* 4. Exponential backoff only on failures
|
|
590
|
+
* 5. Short-circuit on first success
|
|
486
591
|
*/
|
|
487
|
-
async
|
|
488
|
-
|
|
592
|
+
async run(options) {
|
|
593
|
+
var _a;
|
|
594
|
+
const { product, env, tag, input } = options;
|
|
595
|
+
const startTime = Date.now();
|
|
596
|
+
const triedProviders = [];
|
|
597
|
+
// Fetch fallback config
|
|
598
|
+
const fallback = await this.fetch(product, tag);
|
|
599
|
+
if (!fallback) {
|
|
600
|
+
throw new FallbackError(`Fallback '${tag}' not found in product '${product}'`, 'FALLBACK_NOT_FOUND');
|
|
601
|
+
}
|
|
602
|
+
if (!((_a = fallback.options) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
603
|
+
throw new FallbackError(`Fallback '${tag}' has no providers configured`, 'NO_PROVIDERS');
|
|
604
|
+
}
|
|
605
|
+
const processor = this.getProcessor(product);
|
|
606
|
+
// Parallel health status lookup - minimal latency
|
|
607
|
+
const healthStatuses = await this.getHealthStatusesParallel(processor, product, env, fallback.options);
|
|
608
|
+
// Order providers: healthy first, then unknown, then unhealthy
|
|
609
|
+
const orderedProviders = this.orderProvidersByHealth(fallback.options, healthStatuses);
|
|
610
|
+
// Sequential failover with health-aware skipping
|
|
611
|
+
let lastError = null;
|
|
612
|
+
let failoverCount = 0;
|
|
613
|
+
for (const provider of orderedProviders) {
|
|
614
|
+
const providerName = provider.app || provider.event;
|
|
615
|
+
triedProviders.push(providerName);
|
|
616
|
+
// Check if provider is unhealthy and we have healthier alternatives
|
|
617
|
+
const healthStatus = provider.healthcheck ? healthStatuses.get(provider.healthcheck) : null;
|
|
618
|
+
const isUnhealthy = (healthStatus === null || healthStatus === void 0 ? void 0 : healthStatus.status) === 'unavailable';
|
|
619
|
+
// Skip unhealthy providers if we haven't tried all healthy ones
|
|
620
|
+
if (isUnhealthy && failoverCount === 0) {
|
|
621
|
+
// Only skip if there are more providers to try
|
|
622
|
+
const remainingHealthy = orderedProviders
|
|
623
|
+
.slice(triedProviders.length)
|
|
624
|
+
.some(p => {
|
|
625
|
+
const status = p.healthcheck ? healthStatuses.get(p.healthcheck) : null;
|
|
626
|
+
return !status || status.status !== 'unavailable';
|
|
627
|
+
});
|
|
628
|
+
if (remainingHealthy) {
|
|
629
|
+
failoverCount++;
|
|
630
|
+
continue;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
try {
|
|
634
|
+
const result = await this.executeWithRetries(processor, provider, env, product, input);
|
|
635
|
+
return {
|
|
636
|
+
data: result.data,
|
|
637
|
+
provider: providerName,
|
|
638
|
+
latency: Date.now() - startTime,
|
|
639
|
+
wasHealthy: !isUnhealthy,
|
|
640
|
+
failoverCount,
|
|
641
|
+
triedProviders,
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
catch (error) {
|
|
645
|
+
lastError = error;
|
|
646
|
+
failoverCount++;
|
|
647
|
+
// Continue to next provider
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
// All providers failed
|
|
651
|
+
throw new FallbackError(`All ${fallback.options.length} providers failed. Last error: ${lastError === null || lastError === void 0 ? void 0 : lastError.message}`, 'ALL_PROVIDERS_FAILED', { lastError, triedProviders, failoverCount });
|
|
489
652
|
}
|
|
490
653
|
/**
|
|
491
|
-
*
|
|
654
|
+
* Parallel health status lookup from Redis - O(n) with parallel I/O
|
|
492
655
|
*/
|
|
493
|
-
async
|
|
494
|
-
|
|
656
|
+
async getHealthStatusesParallel(processor, product, env, options) {
|
|
657
|
+
const statuses = new Map();
|
|
658
|
+
// Collect healthcheck tags
|
|
659
|
+
const healthcheckTags = options
|
|
660
|
+
.filter(opt => opt.healthcheck)
|
|
661
|
+
.map(opt => opt.healthcheck);
|
|
662
|
+
if (healthcheckTags.length === 0) {
|
|
663
|
+
return statuses;
|
|
664
|
+
}
|
|
665
|
+
// Parallel Redis lookups
|
|
666
|
+
const results = await Promise.allSettled(healthcheckTags.map(async (tag) => {
|
|
667
|
+
try {
|
|
668
|
+
const cached = await processor.getHealthcheckStatusFromCache(product, `${tag}:${env}`);
|
|
669
|
+
return { tag, status: (cached === null || cached === void 0 ? void 0 : cached.status) || 'unknown', latency: cached === null || cached === void 0 ? void 0 : cached.latency };
|
|
670
|
+
}
|
|
671
|
+
catch (_a) {
|
|
672
|
+
return { tag, status: 'unknown' };
|
|
673
|
+
}
|
|
674
|
+
}));
|
|
675
|
+
for (const result of results) {
|
|
676
|
+
if (result.status === 'fulfilled') {
|
|
677
|
+
statuses.set(result.value.tag, {
|
|
678
|
+
status: result.value.status,
|
|
679
|
+
lastLatency: result.value.latency,
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
return statuses;
|
|
495
684
|
}
|
|
496
685
|
/**
|
|
497
|
-
*
|
|
686
|
+
* Order providers by health status: healthy > unknown > unhealthy
|
|
687
|
+
* Maintains original order within each category (first provider = primary)
|
|
498
688
|
*/
|
|
499
|
-
|
|
500
|
-
|
|
689
|
+
orderProvidersByHealth(options, healthStatuses) {
|
|
690
|
+
const healthy = [];
|
|
691
|
+
const unknown = [];
|
|
692
|
+
const unhealthy = [];
|
|
693
|
+
for (const opt of options) {
|
|
694
|
+
if (!opt.healthcheck) {
|
|
695
|
+
healthy.push(opt); // No healthcheck = assume healthy
|
|
696
|
+
}
|
|
697
|
+
else {
|
|
698
|
+
const status = healthStatuses.get(opt.healthcheck);
|
|
699
|
+
if (!status || status.status === 'unknown') {
|
|
700
|
+
unknown.push(opt);
|
|
701
|
+
}
|
|
702
|
+
else if (status.status === 'available') {
|
|
703
|
+
healthy.push(opt);
|
|
704
|
+
}
|
|
705
|
+
else {
|
|
706
|
+
unhealthy.push(opt);
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
return [...healthy, ...unknown, ...unhealthy];
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Execute provider action with exponential backoff retries
|
|
714
|
+
*/
|
|
715
|
+
async executeWithRetries(processor, provider, env, product, input) {
|
|
716
|
+
const maxRetries = provider.retries || 2;
|
|
717
|
+
let lastError = null;
|
|
718
|
+
let retriesUsed = 0;
|
|
719
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
720
|
+
try {
|
|
721
|
+
// Execute app action via processor
|
|
722
|
+
const result = await processor.processAction({
|
|
723
|
+
env,
|
|
724
|
+
product,
|
|
725
|
+
app: provider.app,
|
|
726
|
+
action: provider.event,
|
|
727
|
+
input,
|
|
728
|
+
retries: 0, // We handle retries ourselves
|
|
729
|
+
});
|
|
730
|
+
return { data: result, retriesUsed };
|
|
731
|
+
}
|
|
732
|
+
catch (error) {
|
|
733
|
+
lastError = error;
|
|
734
|
+
retriesUsed++;
|
|
735
|
+
if (attempt < maxRetries) {
|
|
736
|
+
// Exponential backoff: 50ms, 100ms, 200ms (capped at 2s for low latency)
|
|
737
|
+
await new Promise(r => setTimeout(r, Math.min(50 * Math.pow(2, attempt), 2000)));
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
throw new FallbackError(`Provider ${provider.app || provider.event} failed after ${maxRetries + 1} attempts: ${lastError === null || lastError === void 0 ? void 0 : lastError.message}`, 'PROVIDER_FAILED', { lastError, retriesUsed });
|
|
501
742
|
}
|
|
502
743
|
/**
|
|
503
|
-
* Dispatch
|
|
744
|
+
* Dispatch fallback for deferred execution via job queue
|
|
745
|
+
*
|
|
746
|
+
* Note: For immediate execution, use run() instead.
|
|
747
|
+
* Dispatch schedules the fallback for background processing.
|
|
504
748
|
*/
|
|
505
749
|
async dispatch(options) {
|
|
506
|
-
|
|
750
|
+
const { product, tag } = options;
|
|
751
|
+
const jobId = `fallback_${tag}_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
752
|
+
// For deferred execution, we run the fallback asynchronously
|
|
753
|
+
setImmediate(async () => {
|
|
754
|
+
try {
|
|
755
|
+
await this.run(options);
|
|
756
|
+
}
|
|
757
|
+
catch (error) {
|
|
758
|
+
console.error(`Deferred fallback execution failed for ${product}:${tag}:`, error);
|
|
759
|
+
}
|
|
760
|
+
});
|
|
761
|
+
return { jobId };
|
|
507
762
|
}
|
|
508
763
|
}
|
|
509
764
|
exports.FallbackService = FallbackService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.service.js","sourceRoot":"","sources":["../../src/resilience/fallback.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fallback.service.js","sourceRoot":"","sources":["../../src/resilience/fallback.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,12 @@ export declare class HealthcheckError extends Error {
|
|
|
19
19
|
*/
|
|
20
20
|
export declare class HealthcheckService {
|
|
21
21
|
private apiService;
|
|
22
|
+
private config;
|
|
22
23
|
constructor(config: IResilienceServiceConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Creates a ProcessorService instance for local execution
|
|
26
|
+
*/
|
|
27
|
+
private createProcessor;
|
|
23
28
|
/**
|
|
24
29
|
* Define a healthcheck using code-first API
|
|
25
30
|
*
|
|
@@ -88,12 +93,55 @@ export declare class HealthcheckService {
|
|
|
88
93
|
}): Promise<IHealthcheckStatus>;
|
|
89
94
|
/**
|
|
90
95
|
* Manually trigger a healthcheck
|
|
96
|
+
*
|
|
97
|
+
* Executes the healthcheck locally using the ProcessorService and caches
|
|
98
|
+
* the result in Redis for status tracking. On failure, triggers configured
|
|
99
|
+
* notifications, webhooks, and event emissions.
|
|
100
|
+
*
|
|
101
|
+
* Supports the following probe types:
|
|
102
|
+
* - APP: Executes an app action (supports OAuth auto-refresh)
|
|
103
|
+
* - DATABASE: Tests database connection
|
|
104
|
+
* - GRAPH: Tests graph database connection
|
|
105
|
+
* - MESSAGE_BROKER: Tests message broker connection
|
|
106
|
+
* - STORAGE: Tests object storage connection
|
|
107
|
+
* - WORKFLOW: Executes a workflow and checks completion status
|
|
91
108
|
*/
|
|
92
109
|
run(options: {
|
|
93
110
|
product: string;
|
|
94
111
|
env: string;
|
|
95
112
|
tag: string;
|
|
96
113
|
}): Promise<IHealthcheckRunResult>;
|
|
114
|
+
/**
|
|
115
|
+
* Handles failure notifications for a healthcheck
|
|
116
|
+
*/
|
|
117
|
+
private handleFailureNotifications;
|
|
118
|
+
/**
|
|
119
|
+
* Execute a database healthcheck probe by testing the connection
|
|
120
|
+
*/
|
|
121
|
+
private executeDatabaseProbe;
|
|
122
|
+
/**
|
|
123
|
+
* Execute a graph healthcheck probe by testing the connection
|
|
124
|
+
*/
|
|
125
|
+
private executeGraphProbe;
|
|
126
|
+
/**
|
|
127
|
+
* Execute a message broker healthcheck probe by testing the connection
|
|
128
|
+
*/
|
|
129
|
+
private executeMessageBrokerProbe;
|
|
130
|
+
/**
|
|
131
|
+
* Execute a workflow healthcheck probe by running the workflow
|
|
132
|
+
*
|
|
133
|
+
* Workflow healthchecks execute the workflow with the provided input
|
|
134
|
+
* and check if it completes successfully. This is useful for testing
|
|
135
|
+
* end-to-end workflow functionality.
|
|
136
|
+
*/
|
|
137
|
+
private executeWorkflowProbe;
|
|
138
|
+
/**
|
|
139
|
+
* Execute a storage healthcheck probe by testing the connection
|
|
140
|
+
*
|
|
141
|
+
* Storage healthchecks attempt to list objects (with limit 1) to verify
|
|
142
|
+
* connectivity and credentials are working correctly.
|
|
143
|
+
*/
|
|
144
|
+
private executeStorageProbe;
|
|
97
145
|
/**
|
|
98
146
|
* @deprecated Use run() instead
|
|
99
147
|
*/
|