This is an automated email from the ASF dual-hosted git repository.
bdoyle pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk.git
The following commit(s) were added to refs/heads/master by this push:
new 15d8a85b4 handle pekko deprecations (#5555)
15d8a85b4 is described below
commit 15d8a85b40f483478d7c7bc9b176a823642ebfff
Author: Brendan Doyle <[email protected]>
AuthorDate: Mon Oct 27 10:36:13 2025 -0700
handle pekko deprecations (#5555)
Co-authored-by: Brendan Doyle <[email protected]>
---
.../logging/DockerToActivationFileLogStore.scala | 2 +-
.../containerpool/logging/SplunkLogStore.scala | 6 ++---
.../apache/openwhisk/core/database/Batcher.scala | 2 +-
.../openwhisk/core/database/StoreUtils.scala | 2 +-
.../database/azblob/AzureBlobAttachmentStore.scala | 2 +-
.../core/database/s3/S3AttachmentStore.scala | 31 +++++++++++-----------
.../apache/openwhisk/core/controller/Actions.scala | 2 +-
.../openwhisk/core/controller/Entities.scala | 4 +--
.../openwhisk/core/controller/Packages.scala | 2 +-
.../core/entitlement/PackageCollection.scala | 2 +-
.../v2/FunctionPullingContainerProxy.scala | 2 +-
settings.gradle | 4 +--
.../core/controller/test/ActionsApiTests.scala | 16 +++++------
.../core/controller/test/PackagesApiTests.scala | 6 ++---
.../core/controller/test/RulesApiTests.scala | 4 +--
.../core/controller/test/TriggersApiTests.scala | 8 +++---
.../core/controller/test/WebActionsApiTests.scala | 8 +++---
.../openwhisk/core/limits/ActionLimitsTests.scala | 4 +--
18 files changed, 53 insertions(+), 54 deletions(-)
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala
index 67eb6a79d..08663db42 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala
@@ -174,7 +174,7 @@ object OwSink {
*/
def combine[T, U, M1, M2](first: Sink[U, M1], second: Sink[U, M2])(
strategy: Int => Graph[UniformFanOutShape[T, U], NotUsed]): Sink[T, (M1,
M2)] = {
- Sink.fromGraph(GraphDSL.create(first, second)((_, _)) { implicit b => (s1,
s2) =>
+ Sink.fromGraph(GraphDSL.createGraph(first, second)((_, _)) { implicit b =>
(s1, s2) =>
import GraphDSL.Implicits._
val d = b.add(strategy(2))
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/SplunkLogStore.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/SplunkLogStore.scala
index 05a03f2d6..908719061 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/SplunkLogStore.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/SplunkLogStore.scala
@@ -33,7 +33,6 @@ import org.apache.pekko.http.scaladsl.model.Uri.Path
import org.apache.pekko.http.scaladsl.model.headers.Authorization
import org.apache.pekko.http.scaladsl.model.headers.BasicHttpCredentials
import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshal
-import org.apache.pekko.stream.OverflowStrategy
import org.apache.pekko.stream.QueueOfferResult
import org.apache.pekko.stream.scaladsl.Flow
import org.apache.pekko.stream.scaladsl.Keep
@@ -178,9 +177,10 @@ class SplunkLogStore(
.convertTo[String]}:
${l.fields(splunkConfig.logMessageField).convertTo[String].trim}"
//based on
https://pekko.apache.org/docs/pekko-http/current/client-side/host-level.html
+ // BoundedSourceQueue automatically drops new elements when full,
maintaining dropNew behavior
val queue =
Source
- .queue[(HttpRequest, Promise[HttpResponse])](maxPendingRequests,
OverflowStrategy.dropNew)
+ .queue[(HttpRequest, Promise[HttpResponse])](maxPendingRequests)
.via(httpFlow.getOrElse(defaultHttpFlow))
.toMat(Sink.foreach({
case ((Success(resp), p)) => p.success(resp)
@@ -190,7 +190,7 @@ class SplunkLogStore(
def queueRequest(request: HttpRequest): Future[HttpResponse] = {
val responsePromise = Promise[HttpResponse]()
- queue.offer(request -> responsePromise).flatMap {
+ queue.offer(request -> responsePromise) match {
case QueueOfferResult.Enqueued => responsePromise.future
case QueueOfferResult.Dropped =>
Future.failed(new RuntimeException("Splunk API Client Queue
overflowed. Try again later."))
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/Batcher.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/Batcher.scala
index 2d39d514e..7f4d3274c 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/Batcher.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/Batcher.scala
@@ -64,7 +64,7 @@ class Batcher[T, R](batchSize: Int, concurrency: Int, retry:
Int)(operation: (Se
completionMatcher = cm,
failureMatcher = PartialFunction.empty[Any, Throwable],
bufferSize = Int.MaxValue,
- overflowStrategy = OverflowStrategy.dropNew)
+ overflowStrategy = OverflowStrategy.dropBuffer)
.batch(batchSize, Queue(_))((queue, element) => queue :+ element)
.mapAsyncUnordered(concurrency) { els =>
val elements = els.map(_._1)
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/StoreUtils.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/StoreUtils.scala
index 8cd4a90f4..89d3c0819 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/StoreUtils.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/StoreUtils.scala
@@ -84,7 +84,7 @@ private[database] object StoreUtils {
def combinedSink[T](dest: Sink[ByteString, Future[T]])(
implicit ec: ExecutionContext): Sink[ByteString,
Future[AttachmentUploadResult[T]]] = {
- Sink.fromGraph(GraphDSL.create(digestSink(), lengthSink(),
dest)(combineResult) {
+ Sink.fromGraph(GraphDSL.createGraph(digestSink(), lengthSink(),
dest)(combineResult) {
implicit builder => (dgs, ls, dests) =>
import GraphDSL.Implicits._
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/azblob/AzureBlobAttachmentStore.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/azblob/AzureBlobAttachmentStore.scala
index 510806203..ad68c0aa7 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/azblob/AzureBlobAttachmentStore.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/azblob/AzureBlobAttachmentStore.scala
@@ -299,7 +299,7 @@ class AzureBlobAttachmentStore(client:
BlobContainerAsyncClient, prefix: String,
case None =>
blobClient.exists().toFuture.toScala.map { exists =>
if (exists) {
- val bbFlux = blobClient.download()
+ val bbFlux = blobClient.downloadStream()
Some(Source.fromPublisher(bbFlux).map(ByteString.fromByteBuffer))
} else {
throw NoDocumentException("Not found on 'readAttachment'.")
diff --git
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/s3/S3AttachmentStore.scala
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/s3/S3AttachmentStore.scala
index 499c7268e..68b9da780 100644
---
a/common/scala/src/main/scala/org/apache/openwhisk/core/database/s3/S3AttachmentStore.scala
+++
b/common/scala/src/main/scala/org/apache/openwhisk/core/database/s3/S3AttachmentStore.scala
@@ -135,10 +135,14 @@ class S3AttachmentStore(s3Settings: S3Settings, bucket:
String, prefix: String,
s"[ATT_GET] '$prefix' finding attachment '$name' of document 'id:
$docId'")
val source = getAttachmentSource(objectKey(docId, name))
- val f = source.flatMap {
- case Some(x) => x.withAttributes(s3attributes).runWith(sink)
- case None => Future.failed(NoDocumentException("Not found on
'readAttachment'."))
- }
+ val f = source
+ .flatMap { x =>
+ x.withAttributes(s3attributes).runWith(sink)
+ }
+ .recoverWith {
+ case e: Throwable if isMissingKeyException(e) =>
+ Future.failed(NoDocumentException("Not found on 'readAttachment'."))
+ }
val g = f.transform(
{ s =>
@@ -164,16 +168,14 @@ class S3AttachmentStore(s3Settings: S3Settings, bucket:
String, prefix: String,
s"[ATT_GET] '$prefix' internal error, name: '$name', doc: 'id:
$docId', failure: '${failure.getMessage}'")
}
- private def getAttachmentSource(objectKey: String):
Future[Option[Source[ByteString, Any]]] = urlSigner match {
- case Some(signer) => getUrlContent(signer.getSignedURL(objectKey))
+ private def getAttachmentSource(objectKey: String):
Future[Source[ByteString, Any]] = urlSigner match {
+ case Some(signer) =>
+ getUrlContent(signer.getSignedURL(objectKey)).map(_.get)
- // When reading from S3 we get an optional source of ByteString and
Metadata if the object exist
- // For such case drop the metadata
+ // S3.getObject returns Source[ByteString, Future[ObjectMetadata]].
+ // The materialized future will fail if the object doesn't exist, which is
handled by the caller.
case None =>
- S3.download(bucket, objectKey)
- .withAttributes(s3attributes)
- .runWith(Sink.head)
- .map(x => x.map(_._1))
+ Future.successful(S3.getObject(bucket,
objectKey).withAttributes(s3attributes))
}
private def getUrlContent(uri: Uri): Future[Option[Source[ByteString, Any]]]
= {
@@ -182,10 +184,9 @@ class S3AttachmentStore(s3Settings: S3Settings, bucket:
String, prefix: String,
case HttpResponse(status, _, entity, _) if status.isSuccess() &&
!status.isRedirection() =>
Future.successful(Some(entity.dataBytes))
case HttpResponse(status, _, entity, _) =>
- Unmarshal(entity).to[String].map { err =>
+ Unmarshal(entity).to[String].flatMap { err =>
//With CloudFront also the error message confirms to same S3
exception format
- val exp = S3Exception(err, status)
- if (isMissingKeyException(exp)) None else throw exp
+ Future.failed(S3Exception(err, status))
}
}
}
diff --git
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Actions.scala
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Actions.scala
index fd59d572e..93fd43343 100644
---
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Actions.scala
+++
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Actions.scala
@@ -316,7 +316,7 @@ trait WhiskActionsApi extends WhiskCollectionAPI with
PostActionActivation with
}
case Failure(t: RecordTooLargeException) =>
logging.debug(this, s"[POST] action payload was too large")
- terminate(PayloadTooLarge)
+ terminate(ContentTooLarge)
case Failure(RejectRequest(code, message)) =>
logging.debug(this, s"[POST] action rejected with code $code:
$message")
terminate(code, message)
diff --git
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Entities.scala
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Entities.scala
index 99e32f9b0..f3e5bd563 100644
---
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Entities.scala
+++
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Entities.scala
@@ -21,7 +21,7 @@ import scala.concurrent.Future
import scala.language.postfixOps
import scala.util.Try
import org.apache.pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
-import org.apache.pekko.http.scaladsl.model.StatusCodes.PayloadTooLarge
+import org.apache.pekko.http.scaladsl.model.StatusCodes.ContentTooLarge
import org.apache.pekko.http.scaladsl.model.headers.RawHeader
import org.apache.pekko.http.scaladsl.server.Directive0
import org.apache.pekko.http.scaladsl.server.Directives
@@ -45,7 +45,7 @@ protected[controller] trait ValidateRequestSize extends
Directives {
new Directive0 {
override def tapply(f: Unit => Route) = {
check map {
- case e: SizeError => terminate(PayloadTooLarge,
Messages.entityTooBig(e))
+ case e: SizeError => terminate(ContentTooLarge,
Messages.entityTooBig(e))
} getOrElse f(None)
}
}
diff --git
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Packages.scala
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Packages.scala
index 1c23a057c..453b8941f 100644
---
a/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Packages.scala
+++
b/core/controller/src/main/scala/org/apache/openwhisk/core/controller/Packages.scala
@@ -336,7 +336,7 @@ trait WhiskPackagesApi extends WhiskCollectionAPI with
ReferencedEntities {
logging.debug(this, s"fetching package '$docid' for reference")
if (docid == wp.docid) {
logging.error(this, s"unexpected package binding refers to itself:
$docid")
- terminate(UnprocessableEntity,
Messages.packageBindingCircularReference(b.fullyQualifiedName.toString))
+ terminate(UnprocessableContent,
Messages.packageBindingCircularReference(b.fullyQualifiedName.toString))
} else {
/** Here's where I check package execute only case with package
binding. */
diff --git
a/core/controller/src/main/scala/org/apache/openwhisk/core/entitlement/PackageCollection.scala
b/core/controller/src/main/scala/org/apache/openwhisk/core/entitlement/PackageCollection.scala
index f623de1bd..cb33e4784 100644
---
a/core/controller/src/main/scala/org/apache/openwhisk/core/entitlement/PackageCollection.scala
+++
b/core/controller/src/main/scala/org/apache/openwhisk/core/entitlement/PackageCollection.scala
@@ -102,7 +102,7 @@ class PackageCollection(entityStore: EntityStore)(implicit
logging: Logging) ext
logging.error(this, s"unexpected package binding refers to itself:
$doc")
Future.failed(
RejectRequest(
- UnprocessableEntity,
+ UnprocessableContent,
Messages.packageBindingCircularReference(binding.fullyQualifiedName.toString)))
} else {
checkPackageReadPermission(namespaces, pkgOwner, pkgDocid)
diff --git
a/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerProxy.scala
b/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerProxy.scala
index fae6859f0..9a5d434d0 100644
---
a/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerProxy.scala
+++
b/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/v2/FunctionPullingContainerProxy.scala
@@ -20,7 +20,7 @@ package org.apache.openwhisk.core.containerpool.v2
import java.net.InetSocketAddress
import java.time.Instant
import org.apache.pekko.actor.Status.{Failure => FailureMessage}
-import org.apache.pekko.actor.{actorRef2Scala, ActorRef, ActorRefFactory,
ActorSystem, FSM, Props, Stash}
+import org.apache.pekko.actor.{ActorRef, ActorRefFactory, ActorSystem, FSM,
Props, Stash}
import org.apache.pekko.event.Logging.InfoLevel
import org.apache.pekko.io.{IO, Tcp}
import org.apache.pekko.pattern.pipe
diff --git a/settings.gradle b/settings.gradle
index d3506b36f..607dc03e0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -78,9 +78,7 @@ if (scalaVersion == '2.12') {
depVersion : '2.12',
scoverageScalaVersion : '2.12.15',
scoverageVersion : '1.4.11',
- // Temporarily disabled -Xfatal-warnings during Pekko migration to
allow deprecated API usage
- // BEFORE READY: Fix deprecation warnings and re-enable
-Xfatal-warnings
- compileFlags: ['-feature', '-unchecked', '-deprecation',
'-Ywarn-unused-import']
+ compileFlags: ['-feature', '-unchecked', '-deprecation',
'-Xfatal-warnings', '-Ywarn-unused-import']
]
} else {
println("Build using Scala 2.13")
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/ActionsApiTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/ActionsApiTests.scala
index c08809c78..ab9d34d9f 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/ActionsApiTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/ActionsApiTests.scala
@@ -484,7 +484,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val exec: Exec = jsDefault(code)
val content = JsObject("exec" -> exec.toJson)
Put(s"$collectionPath/${aname()}", content) ~> Route.seal(routes(creds))
~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskAction.execFieldName, exec.size,
Exec.sizeLimit))
}
@@ -513,7 +513,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val content = JsObject("exec" -> exec.toJson)
put(entityStore, action)
Put(s"$collectionPath/${action.name}?overwrite=true", content) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskAction.execFieldName, exec.size,
Exec.sizeLimit))
}
@@ -529,7 +529,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
} reduce (_ ++ _)
val content =
s"""{"exec":{"kind":"nodejs:default","code":"??"},"parameters":$parameters}""".stripMargin
Put(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, Parameters.sizeLimit))
}
@@ -558,7 +558,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val content =
s"""{"exec":{"kind":"nodejs:default","code":"??"},"parameters":$parameters}""".stripMargin
Put(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(credsWithLimits)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, namespaceLimit))
}
@@ -574,7 +574,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
} reduce (_ ++ _)
val content =
s"""{"exec":{"kind":"nodejs:default","code":"??"},"annotations":$annotations}""".stripMargin
Put(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, Parameters.sizeLimit))
}
@@ -603,7 +603,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val content =
s"""{"exec":{"kind":"nodejs:default","code":"??"},"annotations":$annotations}""".stripMargin
Put(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(credsWithLimits)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, namespaceLimit))
}
@@ -971,7 +971,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val code = "a" * (systemPayloadLimit.toBytes.toInt + 1)
val content = s"""{"a":"$code"}""".stripMargin
Post(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(fieldDescriptionForSizeError,
(content.length).B, systemPayloadLimit.toBytes.B))
}
@@ -983,7 +983,7 @@ class ActionsApiTests extends ControllerTestCommon with
WhiskActionsApi {
val code = "a" * (namespacePayloadLimit.toBytes.toInt + 1)
val content = s"""{"a":"$code"}""".stripMargin
Post(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(credsWithPayloadLimit)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(
SizeError(fieldDescriptionForSizeError, (content.length).B,
namespacePayloadLimit.toBytes.B))
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/PackagesApiTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/PackagesApiTests.scala
index 8c31eced8..537e70bfe 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/PackagesApiTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/PackagesApiTests.scala
@@ -591,7 +591,7 @@ class PackagesApiTests extends ControllerTestCommon with
WhiskPackagesApi {
} reduce (_ ++ _)
val content = s"""{"annotations":$annotations}""".parseJson.asJsObject
Put(s"$collectionPath/${aname()}", content) ~> Route.seal(routes(creds))
~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, Parameters.sizeLimit))
}
@@ -607,7 +607,7 @@ class PackagesApiTests extends ControllerTestCommon with
WhiskPackagesApi {
} reduce (_ ++ _)
val content = s"""{"parameters":$parameters}""".parseJson.asJsObject
Put(s"$collectionPath/${aname()}", content) ~> Route.seal(routes(creds))
~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, Parameters.sizeLimit))
}
@@ -625,7 +625,7 @@ class PackagesApiTests extends ControllerTestCommon with
WhiskPackagesApi {
val content = s"""{"parameters":$parameters}""".parseJson.asJsObject
put(entityStore, provider)
Put(s"$collectionPath/${aname()}?overwrite=true", content) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, Parameters.sizeLimit))
}
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/RulesApiTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/RulesApiTests.scala
index 841e32aaf..8fb7bd1f9 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/RulesApiTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/RulesApiTests.scala
@@ -526,7 +526,7 @@ class RulesApiTests extends ControllerTestCommon with
WhiskRulesApi {
val t = get(entityStore, trigger.docid, WhiskTrigger)
deleteTrigger(t.docid)
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, Parameters.sizeLimit))
}
@@ -556,7 +556,7 @@ class RulesApiTests extends ControllerTestCommon with
WhiskRulesApi {
val t = get(entityStore, trigger.docid, WhiskTrigger)
deleteTrigger(t.docid)
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, Parameters.sizeLimit))
}
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/TriggersApiTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/TriggersApiTests.scala
index 4c866ffbd..cfe3f4f2a 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/TriggersApiTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/TriggersApiTests.scala
@@ -273,7 +273,7 @@ class TriggersApiTests extends ControllerTestCommon with
WhiskTriggersApi {
val code = "a" * (systemPayloadLimit.toBytes.toInt + 1)
val content = s"""{"a":"$code"}""".stripMargin
Post(s"$collectionPath/${aname()}", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(fieldDescriptionForSizeError,
(content.length).B, systemPayloadLimit.toBytes.B))
}
@@ -289,7 +289,7 @@ class TriggersApiTests extends ControllerTestCommon with
WhiskTriggersApi {
} reduce (_ ++ _)
val content = s"""{"parameters":$parameters}""".parseJson.asJsObject
Put(s"$collectionPath/${aname()}", content) ~> Route.seal(routes(creds))
~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, Parameters.sizeLimit))
}
@@ -305,7 +305,7 @@ class TriggersApiTests extends ControllerTestCommon with
WhiskTriggersApi {
} reduce (_ ++ _)
val content = s"""{"annotations":$annotations}""".parseJson.asJsObject
Put(s"$collectionPath/${aname()}", content) ~> Route.seal(routes(creds))
~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.annotationsFieldName,
annotations.size, Parameters.sizeLimit))
}
@@ -323,7 +323,7 @@ class TriggersApiTests extends ControllerTestCommon with
WhiskTriggersApi {
val content = s"""{"parameters":$parameters}""".parseJson.asJsObject
put(entityStore, trigger)
Put(s"$collectionPath/${trigger.name}?overwrite=true", content) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
responseAs[String] should include {
Messages.entityTooBig(SizeError(WhiskEntity.paramsFieldName,
parameters.size, Parameters.sizeLimit))
}
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/WebActionsApiTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/WebActionsApiTests.scala
index c16eb13af..a81067b6e 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/controller/test/WebActionsApiTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/controller/test/WebActionsApiTests.scala
@@ -1524,7 +1524,7 @@ trait WebActionsApiBaseTests extends ControllerTestCommon
with BeforeAndAfterEac
val content = s"""{"a":"$largeEntity"}"""
Post(s"$testRoutePath/$path", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
val expectedErrorMsg = Messages.entityTooBig(
// must contains namespace's payload limit size in error message
SizeError(fieldDescriptionForSizeError, (largeEntity.length +
8).B, namespacePayloadLimit.toBytes.B))
@@ -1533,7 +1533,7 @@ trait WebActionsApiBaseTests extends ControllerTestCommon
with BeforeAndAfterEac
val form = FormData(Map("a" -> largeEntity))
Post(s"$testRoutePath/$path", form) ~> Route.seal(routes(creds)) ~>
check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
val expectedErrorMsg = Messages.entityTooBig(
// must contains namespace's payload limit size in error message
SizeError(fieldDescriptionForSizeError, (largeEntity.length +
2).B, namespacePayloadLimit.toBytes.B))
@@ -1568,7 +1568,7 @@ trait WebActionsApiBaseTests extends ControllerTestCommon
with BeforeAndAfterEac
val content = s"""{"a":"$largeEntity"}"""
Post(s"$testRoutePath/$path", content.parseJson.asJsObject) ~>
Route.seal(routes(creds)) ~> check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
val expectedErrorMsg = Messages.entityTooBig(
SizeError(fieldDescriptionForSizeError, (largeEntity.length +
8).B, namespacePayloadLimit.toBytes.B))
confirmErrorWithTid(responseAs[JsObject], Some(expectedErrorMsg))
@@ -1576,7 +1576,7 @@ trait WebActionsApiBaseTests extends ControllerTestCommon
with BeforeAndAfterEac
val form = FormData(Map("a" -> largeEntity))
Post(s"$testRoutePath/$path", form) ~> Route.seal(routes(creds)) ~>
check {
- status should be(PayloadTooLarge)
+ status should be(ContentTooLarge)
val expectedErrorMsg = Messages.entityTooBig(
SizeError(fieldDescriptionForSizeError, (largeEntity.length +
2).B, namespacePayloadLimit.toBytes.B))
confirmErrorWithTid(responseAs[JsObject], Some(expectedErrorMsg))
diff --git
a/tests/src/test/scala/org/apache/openwhisk/core/limits/ActionLimitsTests.scala
b/tests/src/test/scala/org/apache/openwhisk/core/limits/ActionLimitsTests.scala
index dfc8aae1c..2724ee317 100644
---
a/tests/src/test/scala/org/apache/openwhisk/core/limits/ActionLimitsTests.scala
+++
b/tests/src/test/scala/org/apache/openwhisk/core/limits/ActionLimitsTests.scala
@@ -17,7 +17,7 @@
package org.apache.openwhisk.core.limits
-import org.apache.pekko.http.scaladsl.model.StatusCodes.PayloadTooLarge
+import org.apache.pekko.http.scaladsl.model.StatusCodes.ContentTooLarge
import org.apache.pekko.http.scaladsl.model.StatusCodes.BadGateway
import java.io.File
import java.io.PrintWriter
@@ -368,7 +368,7 @@ class ActionLimitsTests extends TestHelpers with
WskTestHelpers with WskActorSys
pw.close
assetHelper.withCleaner(wsk.action, name, confirmDelete = false) {
(action, _) =>
- action.create(name, Some(actionCode.getAbsolutePath), expectedExitCode =
PayloadTooLarge.intValue)
+ action.create(name, Some(actionCode.getAbsolutePath), expectedExitCode =
ContentTooLarge.intValue)
}
actionCode.delete