j3t / mvnio Goto Github PK
View Code? Open in Web Editor NEWRepository for Maven artifacts which uses S3 buckets as storage provider.
License: Apache License 2.0
Repository for Maven artifacts which uses S3 buckets as storage provider.
License: Apache License 2.0
When you request a resource, that is not available in Minio, and you don't have permission to search through it, it returns 500.
This is not ideal, because it breaks all other dependencies, which have never been on that maven repository.
[-response-0-413] com.github.j3t.mvnio.error.ErrorHandler : status: 500, message: Access Denied. (Service: S3, Status Code: 403, Request ID: 1728727D7328E8C9)
software.amazon.awssdk.services.s3.model.S3Exception: Access Denied. (Service: S3, Status Code: 403, Request ID: 1728727D7328E8C9)
at software.amazon.awssdk.services.s3.model.S3Exception$BuilderImpl.build(S3Exception.java:95) ~[s3-2.17.219.jar:na]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
*__checkpoint ? Handler com.github.j3t.mvnio.maven.RepositoryController#download(String, String) [DispatcherHandler]
Original Stack Trace:
at software.amazon.awssdk.services.s3.model.S3Exception$BuilderImpl.build(S3Exception.java:95) ~[s3-2.17.219.jar:na]
at software.amazon.awssdk.services.s3.model.S3Exception$BuilderImpl.build(S3Exception.java:55) ~[s3-2.17.219.jar:na]
at software.amazon.awssdk.protocols.query.internal.unmarshall.AwsXmlErrorUnmarshaller.unmarshall(AwsXmlErrorUnmarshaller.java:99) ~[aws-query-protocol-2.17.219.jar:na]
at software.amazon.awssdk.protocols.query.unmarshall.AwsXmlErrorProtocolUnmarshaller.handle(AwsXmlErrorProtocolUnmarshaller.java:102) ~[aws-query-protocol-2.17.219.jar:na]
at software.amazon.awssdk.protocols.query.unmarshall.AwsXmlErrorProtocolUnmarshaller.handle(AwsXmlErrorProtocolUnmarshaller.java:82) ~[aws-query-protocol-2.17.219.jar:na]
at software.amazon.awssdk.core.http.MetricCollectingHttpResponseHandler.lambda$handle$0(MetricCollectingHttpResponseHandler.java:52) ~[sdk-core-2.17.219.jar:na]
at software.amazon.awssdk.core.internal.util.MetricUtils.measureDurationUnsafe(MetricUtils.java:63) ~[sdk-core-2.17.219.jar:na]
at software.amazon.awssdk.core.http.MetricCollectingHttpResponseHandler.handle(MetricCollectingHttpResponseHandler.java:52) ~[sdk-core-2.17.219.jar:na]
at software.amazon.awssdk.core.internal.http.async.AsyncResponseHandler.lambda$prepare$0(AsyncResponseHandler.java:89) ~[sdk-core-2.17.219.jar:na]
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.complete(Unknown Source) ~[na:na]
at software.amazon.awssdk.core.internal.http.async.AsyncResponseHandler$BaosSubscriber.onComplete(AsyncResponseHandler.java:132) ~[sdk-core-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.ResponseHandler$DataCountingPublisher$1.onComplete(ResponseHandler.java:513) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.ResponseHandler.runAndLogError(ResponseHandler.java:250) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.ResponseHandler.access$600(ResponseHandler.java:75) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.ResponseHandler$PublisherAdapter$1.onComplete(ResponseHandler.java:371) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.nrs.HandlerPublisher.publishMessage(HandlerPublisher.java:402) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.nrs.HandlerPublisher.flushBuffer(HandlerPublisher.java:338) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.nrs.HandlerPublisher.receivedDemand(HandlerPublisher.java:291) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.nrs.HandlerPublisher.access$200(HandlerPublisher.java:61) ~[netty-nio-client-2.17.219.jar:na]
at software.amazon.awssdk.http.nio.netty.internal.nrs.HandlerPublisher$ChannelSubscription$1.run(HandlerPublisher.java:495) ~[netty-nio-client-2.17.219.jar:na]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]```
If you try to upload an artifact but the reposiorty/bucket not exists then the upload gets stuck. At the same time, the load on the server increases dramatically.
Client log:
% mvn deploy
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building bar 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ bar ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/j3t/Development/repos/example/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ bar ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ bar ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/j3t/Development/repos/example/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ bar ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ bar ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ bar ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ bar ---
[INFO] Installing /Users/j3t/Development/repos/example/target/bar-1.0-SNAPSHOT.jar to /Users/j3t/.m2/repository/foo/bar/1.0-SNAPSHOT/bar-1.0-SNAPSHOT.jar
[INFO] Installing /Users/j3t/Development/repos/example/pom.xml to /Users/j3t/.m2/repository/foo/bar/1.0-SNAPSHOT/bar-1.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ bar ---
Downloading from maven-snapshots: http://localhost:8181/maven/snapshots/foo/bar/1.0-SNAPSHOT/maven-metadata.xml
Uploading to maven-snapshots: http://localhost:8181/maven/snapshots/foo/bar/1.0-SNAPSHOT/bar-1.0-20201023.101727-1.jar
Server log:
mvnio_1 | 2020-10-23 10:10:11.058 INFO 1 --- [ main] com.github.j3t.mvnio.App : Starting App on e1189541e6a3 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
mvnio_1 | 2020-10-23 10:10:11.065 INFO 1 --- [ main] com.github.j3t.mvnio.App : No active profile set, falling back to default profiles: default
mvnio_1 | 2020-10-23 10:10:14.096 INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080
mvnio_1 | 2020-10-23 10:10:14.117 INFO 1 --- [ main] com.github.j3t.mvnio.App : Started App in 3.892 seconds (JVM running for 4.846)
mvnio_1 | 2020-10-23 10:17:26.838 INFO 1 --- [or-http-epoll-2] com.github.j3t.mvnio.error.ErrorHandler : status: 401, message: Not authorized, access to repository (snapshots) denied
mvnio_1 | 2020-10-23 10:17:27.424 INFO 1 --- [nc-response-0-0] com.github.j3t.mvnio.error.ErrorHandler : status: 404, message: The specified bucket does not exist (Service: S3, Status Code: 404, Request ID: 164097AF7B98BBEC, Extended Request ID: null)
source: https://sonarcloud.io/component_measures?id=j3t_mvnio&metric=sqale_index&view=list
AC:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.