From 94aa579ae611cc43eea2ce91e2f74533f8cc4a7c Mon Sep 17 00:00:00 2001 From: Icaro Jerry Date: Wed, 14 Jul 2021 12:24:23 -0300 Subject: [PATCH 1/3] Add previous exception message when existing --- src/Exception/VespaException.php | 4 +++- src/Exception/VespaExecuteJobException.php | 6 ++++-- src/Exception/VespaFailDeleteDocumentException.php | 3 ++- src/Exception/VespaFailGetDocumentException.php | 3 ++- src/Exception/VespaFailSearchException.php | 3 ++- src/Exception/VespaFailSendDocumentException.php | 3 ++- src/Exception/VespaFailUpdateDocumentException.php | 3 ++- src/Exception/VespaFeedException.php | 5 +++-- src/Exception/VespaInvalidHostException.php | 3 ++- src/Exception/VespaInvalidYQLQueryException.php | 1 + 10 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/Exception/VespaException.php b/src/Exception/VespaException.php index 31d1f45..12a67c5 100644 --- a/src/Exception/VespaException.php +++ b/src/Exception/VespaException.php @@ -6,6 +6,8 @@ class VespaException extends \Exception { public function __construct($message, \Exception $exception = null) { - parent::__construct($message, 001, $exception); + $previous_message = "\n{$exception->getMessage()}" ?? ""; + + parent::__construct("{$message}{$previous_message}", 001, $exception); } } diff --git a/src/Exception/VespaExecuteJobException.php b/src/Exception/VespaExecuteJobException.php index f93d8a8..2cee70e 100644 --- a/src/Exception/VespaExecuteJobException.php +++ b/src/Exception/VespaExecuteJobException.php @@ -9,10 +9,12 @@ class VespaExecuteJobException extends VespaException public function __construct(string $job_class, string $document_type, \Exception $exception = null, string $message = null) { + $previous_message = "\n{$exception->getMessage()}" ?? ""; + if (!$message) { - parent::__construct("[{$document_type}] The job $job_class process failed", $exception); + parent::__construct("[{$document_type}] The job $job_class process failed.$previous_message", $exception); } else { - parent::__construct("[{$document_type}] $job_class - $message", $exception); + parent::__construct("[{$document_type}] $job_class - $message$previous_message", $exception); } $this->code = 600; diff --git a/src/Exception/VespaFailDeleteDocumentException.php b/src/Exception/VespaFailDeleteDocumentException.php index 484b728..9aea1c4 100644 --- a/src/Exception/VespaFailDeleteDocumentException.php +++ b/src/Exception/VespaFailDeleteDocumentException.php @@ -9,7 +9,8 @@ class VespaFailDeleteDocumentException extends VespaException public function __construct($definition, string $scheme, \Exception $exception = null) { - parent::__construct("[{$definition->getDocumentType()}]: An error occurred while deleting the document to the scheme : $scheme.", $exception); + $previous_message = " {$exception->getMessage()}" ?? ""; + parent::__construct("[{$definition->getDocumentType()}]: An error occurred while deleting the document to the scheme : $scheme.$previous_message", $exception); $this->code = 100; $this->definition = $definition; diff --git a/src/Exception/VespaFailGetDocumentException.php b/src/Exception/VespaFailGetDocumentException.php index f8b0eb1..9137c25 100644 --- a/src/Exception/VespaFailGetDocumentException.php +++ b/src/Exception/VespaFailGetDocumentException.php @@ -11,7 +11,8 @@ class VespaFailGetDocumentException extends VespaException public function __construct(DocumentDefinition $definition, string $scheme, \Exception $exception) { - parent::__construct("[{$definition->getDocumentType()}]: An error occurred while getting the document to the scheme: $scheme", $exception); + $previous_message = " {$exception->getMessage()}" ?? ""; + parent::__construct("[{$definition->getDocumentType()}]: An error occurred while getting the document to the scheme: $scheme.$previous_message", $exception); $this->code = $exception->getCode(); $this->definition = $definition; diff --git a/src/Exception/VespaFailSearchException.php b/src/Exception/VespaFailSearchException.php index 17ffcdd..0c3be1b 100644 --- a/src/Exception/VespaFailSearchException.php +++ b/src/Exception/VespaFailSearchException.php @@ -8,7 +8,8 @@ class VespaFailSearchException extends VespaException public function __construct(array $data, \Exception $exception = null) { - parent::__construct("An error occurred while performing the search on Vespa. Payload: " . json_encode($data), $exception); + $previous_message = "\n{$exception->getMessage()}" ?? ""; + parent::__construct("An error occurred while performing the search on Vespa. Payload: " . json_encode($data) . $previous_message, $exception); $this->code = 300; $this->payload = $data; diff --git a/src/Exception/VespaFailSendDocumentException.php b/src/Exception/VespaFailSendDocumentException.php index f2d2416..b4cd769 100644 --- a/src/Exception/VespaFailSendDocumentException.php +++ b/src/Exception/VespaFailSendDocumentException.php @@ -12,7 +12,8 @@ class VespaFailSendDocumentException extends VespaException public function __construct(DocumentDefinition $definition, AbstractDocument $document, \Exception $exception = null) { - parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not indexed to Vespa.", $exception); + $previous_message = " {$exception->getMessage()}" ?? ""; + parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not indexed to Vespa.{$previous_message}", $exception); $this->code = 400; $this->document = $document; diff --git a/src/Exception/VespaFailUpdateDocumentException.php b/src/Exception/VespaFailUpdateDocumentException.php index 9f17c21..2587c79 100644 --- a/src/Exception/VespaFailUpdateDocumentException.php +++ b/src/Exception/VespaFailUpdateDocumentException.php @@ -12,7 +12,8 @@ class VespaFailUpdateDocumentException extends VespaException public function __construct(DocumentDefinition $definition, AbstractDocument $document, \Exception $exception = null) { - parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not updated to Vespa.", $exception); + $previous_message = " {$exception->getMessage()}" ?? ""; + parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not updated to Vespa.$previous_message", $exception); $this->code = 500; $this->document = $document; diff --git a/src/Exception/VespaFeedException.php b/src/Exception/VespaFeedException.php index 02a2e53..bd9839f 100644 --- a/src/Exception/VespaFeedException.php +++ b/src/Exception/VespaFeedException.php @@ -8,10 +8,11 @@ class VespaFeedException extends VespaException public function __construct(string $model, \Exception $exception = null, string $message = null) { + $previous_message = "\n{$exception->getMessage()}" ?? ""; if (!$message) { - parent::__construct("[{$model}] Feed process failed", $exception); + parent::__construct("[{$model}] Feed process failed.$previous_message", $exception); } else { - parent::__construct("[{$model}] $message", $exception); + parent::__construct("[{$model}] $message$previous_message", $exception); } $this->code = 600; diff --git a/src/Exception/VespaInvalidHostException.php b/src/Exception/VespaInvalidHostException.php index e2c36f3..a7a1f86 100644 --- a/src/Exception/VespaInvalidHostException.php +++ b/src/Exception/VespaInvalidHostException.php @@ -6,7 +6,8 @@ class VespaInvalidHostException extends VespaException { public function __construct(\Exception $exception = null) { - parent::__construct("Invalid Vespa Host", $exception); + $previous_message = " {$exception->getMessage()}" ?? ""; + parent::__construct("Invalid Vespa Host.$previous_message", $exception); $this->code = 700; } diff --git a/src/Exception/VespaInvalidYQLQueryException.php b/src/Exception/VespaInvalidYQLQueryException.php index 6c8643f..ca6ff4d 100644 --- a/src/Exception/VespaInvalidYQLQueryException.php +++ b/src/Exception/VespaInvalidYQLQueryException.php @@ -6,6 +6,7 @@ class VespaInvalidYQLQueryException extends VespaException { public function __construct($message = null, \Exception $exception = null) { + $previous_message = "\n{$exception->getMessage()}" ?? ""; if ($message != null) { $message = " $message"; } From f65898a62bd2e1278926a7e45e03dcf0c95ab929 Mon Sep 17 00:00:00 2001 From: Icaro Jerry Date: Wed, 14 Jul 2021 12:50:47 -0300 Subject: [PATCH 2/3] Add previous exception message when existing --- src/Exception/VespaExecuteJobException.php | 2 +- src/Exception/VespaFailDeleteDocumentException.php | 3 ++- src/Exception/VespaFailGetDocumentException.php | 3 ++- src/Exception/VespaFailSearchException.php | 3 ++- src/Exception/VespaFailUpdateDocumentException.php | 3 ++- src/Exception/VespaFeedException.php | 3 ++- src/Exception/VespaInvalidHostException.php | 3 ++- src/Exception/VespaInvalidYQLQueryException.php | 5 +++-- 8 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/Exception/VespaExecuteJobException.php b/src/Exception/VespaExecuteJobException.php index 2cee70e..3bdd857 100644 --- a/src/Exception/VespaExecuteJobException.php +++ b/src/Exception/VespaExecuteJobException.php @@ -9,7 +9,7 @@ class VespaExecuteJobException extends VespaException public function __construct(string $job_class, string $document_type, \Exception $exception = null, string $message = null) { - $previous_message = "\n{$exception->getMessage()}" ?? ""; + $previous_message = $exception ? "\n{$exception->getMessage()}" : ""; if (!$message) { parent::__construct("[{$document_type}] The job $job_class process failed.$previous_message", $exception); diff --git a/src/Exception/VespaFailDeleteDocumentException.php b/src/Exception/VespaFailDeleteDocumentException.php index 9aea1c4..01badf3 100644 --- a/src/Exception/VespaFailDeleteDocumentException.php +++ b/src/Exception/VespaFailDeleteDocumentException.php @@ -9,7 +9,8 @@ class VespaFailDeleteDocumentException extends VespaException public function __construct($definition, string $scheme, \Exception $exception = null) { - $previous_message = " {$exception->getMessage()}" ?? ""; + $previous_message = $exception ? " {$exception->getMessage()}" : ""; + parent::__construct("[{$definition->getDocumentType()}]: An error occurred while deleting the document to the scheme : $scheme.$previous_message", $exception); $this->code = 100; diff --git a/src/Exception/VespaFailGetDocumentException.php b/src/Exception/VespaFailGetDocumentException.php index 9137c25..3892643 100644 --- a/src/Exception/VespaFailGetDocumentException.php +++ b/src/Exception/VespaFailGetDocumentException.php @@ -11,7 +11,8 @@ class VespaFailGetDocumentException extends VespaException public function __construct(DocumentDefinition $definition, string $scheme, \Exception $exception) { - $previous_message = " {$exception->getMessage()}" ?? ""; + $previous_message = $exception ? " {$exception->getMessage()}" : ""; + parent::__construct("[{$definition->getDocumentType()}]: An error occurred while getting the document to the scheme: $scheme.$previous_message", $exception); $this->code = $exception->getCode(); diff --git a/src/Exception/VespaFailSearchException.php b/src/Exception/VespaFailSearchException.php index 0c3be1b..0938e1f 100644 --- a/src/Exception/VespaFailSearchException.php +++ b/src/Exception/VespaFailSearchException.php @@ -8,7 +8,8 @@ class VespaFailSearchException extends VespaException public function __construct(array $data, \Exception $exception = null) { - $previous_message = "\n{$exception->getMessage()}" ?? ""; + $previous_message = $exception ? "\n{$exception->getMessage()}" : ""; + parent::__construct("An error occurred while performing the search on Vespa. Payload: " . json_encode($data) . $previous_message, $exception); $this->code = 300; diff --git a/src/Exception/VespaFailUpdateDocumentException.php b/src/Exception/VespaFailUpdateDocumentException.php index 2587c79..39a714c 100644 --- a/src/Exception/VespaFailUpdateDocumentException.php +++ b/src/Exception/VespaFailUpdateDocumentException.php @@ -12,7 +12,8 @@ class VespaFailUpdateDocumentException extends VespaException public function __construct(DocumentDefinition $definition, AbstractDocument $document, \Exception $exception = null) { - $previous_message = " {$exception->getMessage()}" ?? ""; + $previous_message = $exception ? " {$exception->getMessage()}" : ""; + parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not updated to Vespa.$previous_message", $exception); $this->code = 500; diff --git a/src/Exception/VespaFeedException.php b/src/Exception/VespaFeedException.php index bd9839f..14c95e2 100644 --- a/src/Exception/VespaFeedException.php +++ b/src/Exception/VespaFeedException.php @@ -8,7 +8,8 @@ class VespaFeedException extends VespaException public function __construct(string $model, \Exception $exception = null, string $message = null) { - $previous_message = "\n{$exception->getMessage()}" ?? ""; + $previous_message = $exception ? "\n{$exception->getMessage()}" : ""; + if (!$message) { parent::__construct("[{$model}] Feed process failed.$previous_message", $exception); } else { diff --git a/src/Exception/VespaInvalidHostException.php b/src/Exception/VespaInvalidHostException.php index a7a1f86..e77211c 100644 --- a/src/Exception/VespaInvalidHostException.php +++ b/src/Exception/VespaInvalidHostException.php @@ -6,7 +6,8 @@ class VespaInvalidHostException extends VespaException { public function __construct(\Exception $exception = null) { - $previous_message = " {$exception->getMessage()}" ?? ""; + $previous_message = $exception ? " {$exception->getMessage()}" : ""; + parent::__construct("Invalid Vespa Host.$previous_message", $exception); $this->code = 700; diff --git a/src/Exception/VespaInvalidYQLQueryException.php b/src/Exception/VespaInvalidYQLQueryException.php index ca6ff4d..4600186 100644 --- a/src/Exception/VespaInvalidYQLQueryException.php +++ b/src/Exception/VespaInvalidYQLQueryException.php @@ -6,11 +6,12 @@ class VespaInvalidYQLQueryException extends VespaException { public function __construct($message = null, \Exception $exception = null) { - $previous_message = "\n{$exception->getMessage()}" ?? ""; + $previous_message = $exception ? "\n{$exception->getMessage()}" : ""; + if ($message != null) { $message = " $message"; } - parent::__construct("Could not instantiate query from YQL.$message", $exception); + parent::__construct("Could not instantiate query from YQL.$message${previous_message}", $exception); $this->code = 800; } From 9630171785902c62835dd903d647175a619b18c9 Mon Sep 17 00:00:00 2001 From: Icaro Jerry Date: Wed, 14 Jul 2021 12:54:28 -0300 Subject: [PATCH 3/3] Add previous exception message when existing --- src/Exception/VespaException.php | 2 +- src/Exception/VespaFailSendDocumentException.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Exception/VespaException.php b/src/Exception/VespaException.php index 12a67c5..5b1d75d 100644 --- a/src/Exception/VespaException.php +++ b/src/Exception/VespaException.php @@ -6,7 +6,7 @@ class VespaException extends \Exception { public function __construct($message, \Exception $exception = null) { - $previous_message = "\n{$exception->getMessage()}" ?? ""; + $previous_message = $exception ? "\n{$exception->getMessage()}" : ""; parent::__construct("{$message}{$previous_message}", 001, $exception); } diff --git a/src/Exception/VespaFailSendDocumentException.php b/src/Exception/VespaFailSendDocumentException.php index b4cd769..0b1a7bb 100644 --- a/src/Exception/VespaFailSendDocumentException.php +++ b/src/Exception/VespaFailSendDocumentException.php @@ -12,7 +12,8 @@ class VespaFailSendDocumentException extends VespaException public function __construct(DocumentDefinition $definition, AbstractDocument $document, \Exception $exception = null) { - $previous_message = " {$exception->getMessage()}" ?? ""; + $previous_message = $exception ? " {$exception->getMessage()}" : ""; + parent::__construct("[{$definition->getDocumentType()}]: Document {$document->getVespaDocumentId()} was not indexed to Vespa.{$previous_message}", $exception); $this->code = 400;