[JBoss JIRA] (WFLY-9325) Reduce on-disk size and copying in the test suite
by Rostislav Svoboda (JIRA)
[ https://issues.jboss.org/browse/WFLY-9325?page=com.atlassian.jira.plugin.... ]
Rostislav Svoboda commented on WFLY-9325:
-----------------------------------------
{{ci-cleanup}} profile stuff is bound to {{<phase>post-integration-test</phase>}} so it saves disk capacity, but doesn't prevent unnecessary IO operations + CPU cycles.
> Reduce on-disk size and copying in the test suite
> -------------------------------------------------
>
> Key: WFLY-9325
> URL: https://issues.jboss.org/browse/WFLY-9325
> Project: WildFly
> Issue Type: Enhancement
> Components: Build System, Test Suite
> Reporter: David Lloyd
> Assignee: Tomaz Cerar
>
> The test suite takes up large amounts of disk space (over 2.7GB) during build. This causes overhead for copying and bogs down test runs and CI. Find ways to mitigate this.
> First approach is to use Maven refs instead of fixed JARs in the build process:
> {code:diff}
> diff --git a/pom.xml b/pom.xml
> index fb2b68c..5805471 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -252,8 +252,8 @@
> <linkXRef>false</linkXRef>
>
> <server.output.dir.prefix>wildfly</server.output.dir.prefix>
> - <wildfly.build.output.dir>dist/target/${server.output.dir.prefix}-${jboss.as.release.version}</wildfly.build.output.dir>
> - <wildfly.web.build.output.dir>servlet-dist/target/${server.output.dir.prefix}-servlet-${jboss.as.release.version}</wildfly.web.build.output.dir>
> + <wildfly.build.output.dir>build/target/${server.output.dir.prefix}-${jboss.as.release.version}</wildfly.build.output.dir>
> + <wildfly.web.build.output.dir>servlet-build/target/${server.output.dir.prefix}-servlet-${jboss.as.release.version}</wildfly.web.build.output.dir>
>
> <!--
> See ChildFirstClassLoaderBuilder in model-test for the explanation of the org.jboss.model.test.cache.root and org.jboss.model.test.classpath.cache properties.
> {code}
> This saves a bit of space but copied images are still taking upwards of 55MB each, and there are very many copies; consider this example from {{testsuite/integration/iiop/target}}:
> {noformat}
> 30M jbossas
> 55M jbossas-iiop-client
> 55M jbossas-iiop-server
> 55M jbossas-iiop-ssl-client
> 55M jbossas-iiop-ssl-legacy-server
> 55M jbossas-iiop-ssl-server
> {noformat}
> Within a typical copy (after the above patch), about half of the data is in {{bin}} and half is in {{standalone}}. In {{bin}}, the dominating files are:
> * {{2.2M wildfly-elytron-tool.jar}}
> * {{7.2M client/jboss-cli-client.jar}}
> * {{17M client/jboss-client.jar}}
> In {{standalone}}, the dominator is:
> * {{25M data/activemq}} (mostly journal files but also the {{bindings}} file)
> Together these four areas cover 51.4MB of the 55MB in each IIOP server copy.
> In other areas, big users include {{standalone_xml_history}}, which can be as large as 67MB. Disabling the across the board could help.
> We're also making over 50 copies of the {{docs}} directory at 2.3M per instance.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (JGRP-2218) New payload interface
by Bela Ban (JIRA)
[ https://issues.jboss.org/browse/JGRP-2218?page=com.atlassian.jira.plugin.... ]
Bela Ban updated JGRP-2218:
---------------------------
Description:
h3. Goal
Change payload in {{Message}} from byte[] arrays to a {{Payload}} interface which can have multiple implementations.
h3. Reason
Currently, having to pass a byte[] array to a message leads to unnecessary copying:
* When an application has a ref to an NIO (direct) {{ByteBuffer}}, the bytes in the byte buffer have to be copied into a byte[] array and then set in the message
* When the application sends around byte[] arrays, but also wants to add some additional metadata, e.g. type (1000-byte requests/responses), it needs to create a new byte[] array of (say) 1001 bytes and copy the data (1000 bytes) plus the request type (1 byte) into the new copy. Example: {{MPerf}} and {{UPerf}}
* When an object has to be sent (e.g. in Infinispan), the object has to be marshalled into a byte[] array (first allocation) and then added to the message. With the suggested {{ObjectPayload}} (below), marshalling of the object would occur late, and it would be marshalled directly into the output stream of the bundler, eliminating the byte[] array allocation made by the application.
h3. Design
Instead of copying, the application creates an instance of {{Payload}} and sets the payload in {{Message}}. The {{Payload}} is then passed all the way down into the transport where it is marshalled and sent. There can be a number of payload implementations, e.g.
* {{ByteArrayPayload}}: wraps a byte[] array with an offset and length
* {{NioDirectPayload}}: wraps an NIO direct {{ByteBuffer}}
* {{NioHeapPayload}}: wraps an NIO heap-based {{ByteBuffer}}
* {{CompositePayload}}: wraps multiple Buffers. E.g. type (1 byte) and data (1000 bytes) as described above
* {{IntPayload}}: a single integer
* {{ObjectPayload}}: has an Object and a ClassLoader (for reading), plus a Marshaller which know how to marshal the object, this allows for objects to be passed in payloads and they're only marshalled at the end (transport).
* {{PartialPayload}}: a ref to a {{Payload}}, with an offset and length
The {{Payload}} interface has methods:
* {{size()}}
* {{writeTo(DataOutput)}}
* {{readFrom(DataInput)}}
* {{getInput()}}: this provides a {{DataInput}} stream for reading from the underlying payload
and possibly also
* {{acquire()}} and
* {{release()}} (for ref-counting)
* {{copy()}}
Each payload impl has an ID and it should be possible to register new impls. A {{PayloadFactory}} maintains a mapping between IDs and impl classes.
When marshalling a {{Payload}}, the ID is written first, followed by the payload's {{writeTo()}} method. When reading payloads, the {{PayloadFactory}} is used to create instances from IDs.
h4. Fragmentation
When fragmenting a buffer, the fragments are instances of {{PartialPayload}} which maintains an offset and length over an underlying payload. When marshalling a {{PartialPayload}}, only the part between offset and offset+length is written to the output stream.
h4. Reference counting
If we implement ref-counting, then payloads can be reused as soon as the ref-count is 0. For example, when sending a message, the payload's ref-count could be incremented by the app calling {{acquire()}}. (Assuming the message is a unicast message), {{UNICAST3}} would increment the count to 2. This is needed because {{UNICAST3}} might have to retransmit the message if it was lost on the network, and meanwhile the payload cannot be reused (changed). The app calls {{release()}} when the {{JChannel.send()}} call returns, but the payload cannot be reused until {{UNICAST3}} calls {{release()}} as well. This will happen when an {{ACK}} for the given message has been received.
h4. Payload factory
When a request is received, the buffer is created from the bytes received on the network, based on the ID. This should be done by asking a {{PayloadFactory}} component for a new buffer. A naive implementation might create a new buffer every time, and more sophisticated one might use a pool of payloads.
The {{PayloadFactory}} instance could be replaced by one's own implementation; this allows for an application to control the lifecycle of payloads: thus the creation of buffers by the application and of payloads received over the network can be controlled by the same payload management impl.
h4. Symmetry
When sending a {{CompositePayload}} of a 500 byte {{ByteArrayPayload}} and a 1000 byte {{NioDirectPayload}}, would we want to also get the same {{CompositePayload}} consisting of 2 payloads on the receiver side, or would we want to combine the 2 payloads into one and make the 2 payloads refer to the same combined byte[] array (or NIO buffer)? Should this be made configurable?
h4. Misc
* Since this issue includes API changes, the version will be 5.0
was:
h3. Goal
Change payload in {{Message}} from byte[] arrays to a {{Payload}} interface which can have multiple implementations.
h3. Reason
Currently, having to pass a byte[] array to a message leads to unnecessary copying:
* When an application has a ref to an NIO (direct) {{ByteBuffer}}, the bytes in the byte buffer have to be copied into a byte[] array and then set in the message
* When the application sends around byte[] arrays, but also wants to add some additional metadata, e.g. type (1000-byte requests/responses), it needs to create a new byte[] array of (say) 1001 bytes and copy the data (1000 bytes) plus the request type (1 byte) into the new copy. Example: {{MPerf}} and {{UPerf}}
* When an object has to be sent (e.g. in Infinispan), the object has to be marshalled into a byte[] array (first allocation) and then added to the message. With the suggested {{ObjectPayload}} (below), marshalling of the object would occur late, and it would be marshalled directly into the output stream of the bundler, eliminating the byte[] array allocation made by the application.
h3. Design
Instead of copying, the application creates an instance of {{Payload}} and sets the payload in {{Message}}. The {{Payload}} is then passed all the way down into the transport where it is marshalled and sent. There can be a number of payload implementations, e.g.
* {{ByteArrayPayload}}: wraps a byte[] array with an offset and length
* {{NioDirectPayload}}: wraps an NIO direct {{ByteBuffer}}
* {{NioHeapPayload}}: wraps an NIO heap-based {{ByteBuffer}}
* {{CompositePayload}}: wraps multiple Buffers. E.g. type (1 byte) and data (1000 bytes) as described above
* {{IntPayload}}: a single integer
* {{ObjectPayload}}: has an Object and a ClassLoader (for reading), plus a Marshaller which know how to marshal the object, this allows for objects to be passed in payloads and they're only marshalled at the end (transport).
* {{PartialPayload}}: a ref to a {{Payload}}, with an offset and length
The {{Payload}} interface has methods:
* {{size()}}
* {{writeTo(DataOutput)}}
* {{readFrom(DataInput)}}
* {{getInput()}}: this provides a {{DataInput}} stream for reading from the underlying payload
and possibly also
* {{acquire()}} and
* {{release()}} (for ref-counting)
* {{copy()}}
Each payload impl has an ID and it should be possible to register new impls. A {{PayloadFactory}} maintains a mapping between IDs and impl classes.
When marshalling a {{Payload}}, the ID is written first, followed by the payload's {{writeTo()}} method. When reading payloads, the {{PayloadFactory}} is used to create instances from IDs.
h4. Fragmentation
When fragmenting a buffer, the fragments are instances of {{PartialPayload}} which maintains an offset and length over an underlying payload. When marshalling a {{PartialPayload}}, only the part between offset and offset+length is written to the output stream.
h4. Reference counting
If we implement ref-counting, then payloads can be reused as soon as the ref-count is 0. For example, when sending a message, the payload's ref-count could be incremented by the app calling {{acquire()}}. (Assuming the message is a unicast message), {{UNICAST3}} would increment the count to 2. This is needed because {{UNICAST3}} might have to retransmit the message if it was lost on the network, and meanwhile the payload cannot be reused (changed). The app calls {{release()}} when the {{JChannel.send()}} call returns, but the payload cannot be reused until {{UNICAST3}} calls {{release()}} as well. This will happen when an {{ACK}} for the given message has been received.
h4. Payload management
When a request is received, the buffer is created from the bytes received on the network, based on the ID. This should be done by asking a {{PayloadManagement}} (or {{PayloadPool}} component for a new buffer. A naive implementation might create a new buffer every time, and more sophisticated one might use a pool of payloads.
The {{PayloadManagement}} instance could be replaced by one's own implementation; this allows for an application to control the lifecycle of payloads: thus the creation of buffers by the application and of payloads received over the network can be controlled by the same payload management impl.
h4. Symmetry
When sending a {{CompositePayload}} of a 500 byte {{ByteArrayPayload}} and a 1000 byte {{NioDirectPayload}}, would we want to also get the same {{CompositePayload}} consisting of 2 payloads on the receiver side, or would we want to combine the 2 payloads into one and make the 2 payloads refer to the same combined byte[] array (or NIO buffer)? Should this be made configurable?
h4. Misc
* Since this issue includes API changes, the version will be 5.0
> New payload interface
> ---------------------
>
> Key: JGRP-2218
> URL: https://issues.jboss.org/browse/JGRP-2218
> Project: JGroups
> Issue Type: Feature Request
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 5.0
>
>
> h3. Goal
> Change payload in {{Message}} from byte[] arrays to a {{Payload}} interface which can have multiple implementations.
> h3. Reason
> Currently, having to pass a byte[] array to a message leads to unnecessary copying:
> * When an application has a ref to an NIO (direct) {{ByteBuffer}}, the bytes in the byte buffer have to be copied into a byte[] array and then set in the message
> * When the application sends around byte[] arrays, but also wants to add some additional metadata, e.g. type (1000-byte requests/responses), it needs to create a new byte[] array of (say) 1001 bytes and copy the data (1000 bytes) plus the request type (1 byte) into the new copy. Example: {{MPerf}} and {{UPerf}}
> * When an object has to be sent (e.g. in Infinispan), the object has to be marshalled into a byte[] array (first allocation) and then added to the message. With the suggested {{ObjectPayload}} (below), marshalling of the object would occur late, and it would be marshalled directly into the output stream of the bundler, eliminating the byte[] array allocation made by the application.
> h3. Design
> Instead of copying, the application creates an instance of {{Payload}} and sets the payload in {{Message}}. The {{Payload}} is then passed all the way down into the transport where it is marshalled and sent. There can be a number of payload implementations, e.g.
> * {{ByteArrayPayload}}: wraps a byte[] array with an offset and length
> * {{NioDirectPayload}}: wraps an NIO direct {{ByteBuffer}}
> * {{NioHeapPayload}}: wraps an NIO heap-based {{ByteBuffer}}
> * {{CompositePayload}}: wraps multiple Buffers. E.g. type (1 byte) and data (1000 bytes) as described above
> * {{IntPayload}}: a single integer
> * {{ObjectPayload}}: has an Object and a ClassLoader (for reading), plus a Marshaller which know how to marshal the object, this allows for objects to be passed in payloads and they're only marshalled at the end (transport).
> * {{PartialPayload}}: a ref to a {{Payload}}, with an offset and length
> The {{Payload}} interface has methods:
> * {{size()}}
> * {{writeTo(DataOutput)}}
> * {{readFrom(DataInput)}}
> * {{getInput()}}: this provides a {{DataInput}} stream for reading from the underlying payload
> and possibly also
> * {{acquire()}} and
> * {{release()}} (for ref-counting)
> * {{copy()}}
> Each payload impl has an ID and it should be possible to register new impls. A {{PayloadFactory}} maintains a mapping between IDs and impl classes.
> When marshalling a {{Payload}}, the ID is written first, followed by the payload's {{writeTo()}} method. When reading payloads, the {{PayloadFactory}} is used to create instances from IDs.
> h4. Fragmentation
> When fragmenting a buffer, the fragments are instances of {{PartialPayload}} which maintains an offset and length over an underlying payload. When marshalling a {{PartialPayload}}, only the part between offset and offset+length is written to the output stream.
> h4. Reference counting
> If we implement ref-counting, then payloads can be reused as soon as the ref-count is 0. For example, when sending a message, the payload's ref-count could be incremented by the app calling {{acquire()}}. (Assuming the message is a unicast message), {{UNICAST3}} would increment the count to 2. This is needed because {{UNICAST3}} might have to retransmit the message if it was lost on the network, and meanwhile the payload cannot be reused (changed). The app calls {{release()}} when the {{JChannel.send()}} call returns, but the payload cannot be reused until {{UNICAST3}} calls {{release()}} as well. This will happen when an {{ACK}} for the given message has been received.
> h4. Payload factory
> When a request is received, the buffer is created from the bytes received on the network, based on the ID. This should be done by asking a {{PayloadFactory}} component for a new buffer. A naive implementation might create a new buffer every time, and more sophisticated one might use a pool of payloads.
> The {{PayloadFactory}} instance could be replaced by one's own implementation; this allows for an application to control the lifecycle of payloads: thus the creation of buffers by the application and of payloads received over the network can be controlled by the same payload management impl.
> h4. Symmetry
> When sending a {{CompositePayload}} of a 500 byte {{ByteArrayPayload}} and a 1000 byte {{NioDirectPayload}}, would we want to also get the same {{CompositePayload}} consisting of 2 payloads on the receiver side, or would we want to combine the 2 payloads into one and make the 2 payloads refer to the same combined byte[] array (or NIO buffer)? Should this be made configurable?
> h4. Misc
> * Since this issue includes API changes, the version will be 5.0
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (JGRP-2218) New payload interface
by Bela Ban (JIRA)
[ https://issues.jboss.org/browse/JGRP-2218?page=com.atlassian.jira.plugin.... ]
Bela Ban commented on JGRP-2218:
--------------------------------
{quote}
We can only do estimateSize() in O(1), size() must be O(n).
{quote}
Again, this is not really important: most bundlers have a {{ByteArrayDataOutputStream}} to which messages (or message batches) are serialized. The stream expands when its size is smaller than the number of serialized bytes, and expansion stops at around {{max_bundle_size}}. So even if {{size()}} return 0, not an issue. I might even pull this method completely...
{quote}
I'd like the option to get a single non-composite payload with all the bytes regardless of the input. Actually, if I send a message with a single ByteArrayPayload of 4*frag_size bytes, it would be even better to get a CompositePayload with a sub-payload for each fragment on the receiver.
{quote}
Hmm, I'm thinking I'd add an option to collapse all individual payloads ({{CompositePayload}}) into a single payload, but this would just mean a single byte[] array, but still a {{CompositePayload}} but all payloads pointing to the same byte[] array. See the section on Symmetry above.
If you want something like you describe with {{frag_size}}, you'd probably have to install your own {{PayloadFactory}} in the transport.
> New payload interface
> ---------------------
>
> Key: JGRP-2218
> URL: https://issues.jboss.org/browse/JGRP-2218
> Project: JGroups
> Issue Type: Feature Request
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 5.0
>
>
> h3. Goal
> Change payload in {{Message}} from byte[] arrays to a {{Payload}} interface which can have multiple implementations.
> h3. Reason
> Currently, having to pass a byte[] array to a message leads to unnecessary copying:
> * When an application has a ref to an NIO (direct) {{ByteBuffer}}, the bytes in the byte buffer have to be copied into a byte[] array and then set in the message
> * When the application sends around byte[] arrays, but also wants to add some additional metadata, e.g. type (1000-byte requests/responses), it needs to create a new byte[] array of (say) 1001 bytes and copy the data (1000 bytes) plus the request type (1 byte) into the new copy. Example: {{MPerf}} and {{UPerf}}
> * When an object has to be sent (e.g. in Infinispan), the object has to be marshalled into a byte[] array (first allocation) and then added to the message. With the suggested {{ObjectPayload}} (below), marshalling of the object would occur late, and it would be marshalled directly into the output stream of the bundler, eliminating the byte[] array allocation made by the application.
> h3. Design
> Instead of copying, the application creates an instance of {{Payload}} and sets the payload in {{Message}}. The {{Payload}} is then passed all the way down into the transport where it is marshalled and sent. There can be a number of payload implementations, e.g.
> * {{ByteArrayPayload}}: wraps a byte[] array with an offset and length
> * {{NioDirectPayload}}: wraps an NIO direct {{ByteBuffer}}
> * {{NioHeapPayload}}: wraps an NIO heap-based {{ByteBuffer}}
> * {{CompositePayload}}: wraps multiple Buffers. E.g. type (1 byte) and data (1000 bytes) as described above
> * {{IntPayload}}: a single integer
> * {{ObjectPayload}}: has an Object and a ClassLoader (for reading), plus a Marshaller which know how to marshal the object, this allows for objects to be passed in payloads and they're only marshalled at the end (transport).
> * {{PartialPayload}}: a ref to a {{Payload}}, with an offset and length
> The {{Payload}} interface has methods:
> * {{size()}}
> * {{writeTo(DataOutput)}}
> * {{readFrom(DataInput)}}
> * {{getInput()}}: this provides a {{DataInput}} stream for reading from the underlying payload
> and possibly also
> * {{acquire()}} and
> * {{release()}} (for ref-counting)
> * {{copy()}}
> Each payload impl has an ID and it should be possible to register new impls. A {{PayloadFactory}} maintains a mapping between IDs and impl classes.
> When marshalling a {{Payload}}, the ID is written first, followed by the payload's {{writeTo()}} method. When reading payloads, the {{PayloadFactory}} is used to create instances from IDs.
> h4. Fragmentation
> When fragmenting a buffer, the fragments are instances of {{PartialPayload}} which maintains an offset and length over an underlying payload. When marshalling a {{PartialPayload}}, only the part between offset and offset+length is written to the output stream.
> h4. Reference counting
> If we implement ref-counting, then payloads can be reused as soon as the ref-count is 0. For example, when sending a message, the payload's ref-count could be incremented by the app calling {{acquire()}}. (Assuming the message is a unicast message), {{UNICAST3}} would increment the count to 2. This is needed because {{UNICAST3}} might have to retransmit the message if it was lost on the network, and meanwhile the payload cannot be reused (changed). The app calls {{release()}} when the {{JChannel.send()}} call returns, but the payload cannot be reused until {{UNICAST3}} calls {{release()}} as well. This will happen when an {{ACK}} for the given message has been received.
> h4. Payload management
> When a request is received, the buffer is created from the bytes received on the network, based on the ID. This should be done by asking a {{PayloadManagement}} (or {{PayloadPool}} component for a new buffer. A naive implementation might create a new buffer every time, and more sophisticated one might use a pool of payloads.
> The {{PayloadManagement}} instance could be replaced by one's own implementation; this allows for an application to control the lifecycle of payloads: thus the creation of buffers by the application and of payloads received over the network can be controlled by the same payload management impl.
> h4. Symmetry
> When sending a {{CompositePayload}} of a 500 byte {{ByteArrayPayload}} and a 1000 byte {{NioDirectPayload}}, would we want to also get the same {{CompositePayload}} consisting of 2 payloads on the receiver side, or would we want to combine the 2 payloads into one and make the 2 payloads refer to the same combined byte[] array (or NIO buffer)? Should this be made configurable?
> h4. Misc
> * Since this issue includes API changes, the version will be 5.0
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou edited comment on DROOLS-1728 at 9/15/17 1:41 AM:
-------------------------------------------------------------
The latest jar file will be updated from WB repo when the first round scanner task; but the second round will not maybe the update policy is daily( it seems use the default value of policy ).
Is there any setting to set the update policy in WB ?
I can see the same debug log as following:
2017-09-15 12:59:05,173 - Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
my dev pom.xml with WB repo:
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
was (Author: zhouhuiyu):
The latest jar file will be updated from WB repo when the first round scanner task; but the second round will not maybe the update policy is daily( Is it a bug? ).
I can see the same debug log as following:
2017-09-15 12:59:05,173 - Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
my dev pom.xml with WB repo:
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou edited comment on DROOLS-1728 at 9/15/17 1:21 AM:
-------------------------------------------------------------
The KieScanner doesn't request the maven2 repo of WB by HTTP protocol, I also use wireshark to check the http request, but nothing appear.
I try to open the debug log the check, I just found it request the center repo of apache.
BTW: I deployed the latest version is 2.0.0, my local repo is 1.0.4
was (Author: zhouhuiyu):
The KieScanner doesn't request the maven2 repo of WB by HTTP protocol, I also use wireshark to check the http request, but nothing appear.
I try to open the debug log the check, I just found it request the center repo of apache.
BTW: I deployed the latest version is 2.0.0, my local repo is 1.0.4
The following is debug log.
2017-09-15 09:37:54 DEBUG [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule Lookup. ReleaseId com.myteam:Project1:LATEST was not in cache, checking classpath
2017-09-15 09:37:54 DEBUG [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule Lookup. ReleaseId com.myteam:Project1:LATEST was not in cache, checking maven repository
2017-09-15 09:37:54 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager] Using mirror guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/) for guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/).
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultUpdateCheckManager] Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultTransporterProvider] Using transporter HttpTransporter with priority 5.0 for https://repo.maven.apache.org/maven2
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultTransporterProvider] Using transporter HttpTransporter with priority 5.0 for http://repo1.maven.org/maven2/
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider] Using connector BasicRepositoryConnector with priority 0.0 for http://repo1.maven.org/maven2/
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {s}->https://repo.maven.apache.org][total kept alive: 0; route allocated: 0 of 50; total allocated: 0 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {}->http://repo1.maven.org][total kept alive: 0; route allocated: 0 of 50; total allocated: 0 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 1][route: {}->http://repo1.maven.org][total kept alive: 0; route allocated: 1 of 50; total allocated: 1 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 0][route: {s}->https://repo.maven.apache.org][total kept alive: 0; route allocated: 1 of 50; total allocated: 1 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.DefaultClientConnectionOperator] Connecting to repo1.maven.org:80
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestAddCookies] CookieSpec selected: best-match
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestTargetAuthentication] Target auth state: UNCHALLENGED
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestProxyAuthentication] Proxy auth state: UNCHALLENGED
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.client.DefaultHttpClient] Attempt 1 to execute request
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.DefaultClientConnection] Sending request: GET /maven2/com/myteam/Project1/maven-metadata.xml HTTP/1.1
2017-09-15 09:37:56 DEBUG [org.apache.http.wire] >> "GET /maven2/com/myteam/Project1/maven-metadata.xml HTTP/1.1[\r][\n]"
.....
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultDependencyCollector] Dependency collection stats: {ConflictMarker.analyzeTime=1, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=1, ConflictIdSorter.conflictIdCount=1, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=3, ConflictResolver.conflictItemCount=1, DefaultDependencyCollector.collectTime=7, DefaultDependencyCollector.transformTime=6}
2017-09-15 09:37:57 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager] Using mirror guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/) for guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/).
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultDependencyCollector] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=0, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=0, DefaultDependencyCollector.collectTime=0, DefaultDependencyCollector.transformTime=0}
2017-09-15 09:37:58 INFO [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule was added: ZipKieModule[releaseId=com.myteam:Project1:1.0.4,file=/Users/zhouhuiyu/.m2/repository/com/myteam/Project1/1.0.4/Project1-1.0.4.jar]
2017-09-15 09:37:58 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou edited comment on DROOLS-1728 at 9/15/17 1:20 AM:
-------------------------------------------------------------
The latest jar file will be updated from WB repo when the first round scanner task; but the second round will not maybe the update policy is daily( Is it a bug? ).
I can see the same debug log as following:
2017-09-15 12:59:05,173 - Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
my dev pom.xml with WB repo:
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
was (Author: zhouhuiyu):
The latest jar file will be updated from WB repo when the first round scanner task; but the second round will not maybe the update policy is daily.
I can see the same debug log as following:
2017-09-15 12:59:05,173 - Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
my dev pom.xml with WB repo:
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou commented on DROOLS-1728:
------------------------------------
The latest jar file will be updated from WB repo when the first round scanner task; but the second round will not maybe the update policy is daily.
I can see the same debug log as following:
2017-09-15 12:59:05,173 - Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
my dev pom.xml with WB repo:
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou commented on DROOLS-1728:
------------------------------------
I just debug this reason: I added the mirror repo in my local repo setting.xml, so the policy of remote maven repo is updated by daily even if I point it as always in my pom.xml.
This is bug or not ?
my local repo setting.xml added following:
<mirror>
<id>guvnor-m2-repo</id>
<mirrorOf>guvnor-m2-repo</mirrorOf>
<name>Guvnor M2 Repo</name>
<url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
</mirror>
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months
[JBoss JIRA] (DROOLS-1728) There is always HTTP 404 Error Where I request the maven2 in workbench
by HuiYu Zhou (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1728?page=com.atlassian.jira.plugi... ]
HuiYu Zhou commented on DROOLS-1728:
------------------------------------
The KieScanner doesn't request the maven2 repo of WB by HTTP protocol, I also use wireshark to check the http request, but nothing appear.
I try to open the debug log the check, I just found it request the center repo of apache.
BTW: I deployed the latest version is 2.0.0, my local repo is 1.0.4
The following is debug log.
2017-09-15 09:37:54 DEBUG [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule Lookup. ReleaseId com.myteam:Project1:LATEST was not in cache, checking classpath
2017-09-15 09:37:54 DEBUG [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule Lookup. ReleaseId com.myteam:Project1:LATEST was not in cache, checking maven repository
2017-09-15 09:37:54 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager] Using mirror guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/) for guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/).
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:55 DEBUG [org.eclipse.aether.internal.impl.DefaultUpdateCheckManager] Skipped remote request for com.myteam:Project1/maven-metadata.xml, locally cached metadata up-to-date.
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultTransporterProvider] Using transporter HttpTransporter with priority 5.0 for https://repo.maven.apache.org/maven2
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultTransporterProvider] Using transporter HttpTransporter with priority 5.0 for http://repo1.maven.org/maven2/
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2
2017-09-15 09:37:56 DEBUG [org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider] Using connector BasicRepositoryConnector with priority 0.0 for http://repo1.maven.org/maven2/
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {s}->https://repo.maven.apache.org][total kept alive: 0; route allocated: 0 of 50; total allocated: 0 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {}->http://repo1.maven.org][total kept alive: 0; route allocated: 0 of 50; total allocated: 0 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 1][route: {}->http://repo1.maven.org][total kept alive: 0; route allocated: 1 of 50; total allocated: 1 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 0][route: {s}->https://repo.maven.apache.org][total kept alive: 0; route allocated: 1 of 50; total allocated: 1 of 100]
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.DefaultClientConnectionOperator] Connecting to repo1.maven.org:80
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestAddCookies] CookieSpec selected: best-match
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestTargetAuthentication] Target auth state: UNCHALLENGED
2017-09-15 09:37:56 DEBUG [org.apache.http.client.protocol.RequestProxyAuthentication] Proxy auth state: UNCHALLENGED
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.client.DefaultHttpClient] Attempt 1 to execute request
2017-09-15 09:37:56 DEBUG [org.apache.http.impl.conn.DefaultClientConnection] Sending request: GET /maven2/com/myteam/Project1/maven-metadata.xml HTTP/1.1
2017-09-15 09:37:56 DEBUG [org.apache.http.wire] >> "GET /maven2/com/myteam/Project1/maven-metadata.xml HTTP/1.1[\r][\n]"
.....
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultDependencyCollector] Dependency collection stats: {ConflictMarker.analyzeTime=1, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=1, ConflictIdSorter.conflictIdCount=1, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=3, ConflictResolver.conflictItemCount=1, DefaultDependencyCollector.collectTime=7, DefaultDependencyCollector.transformTime=6}
2017-09-15 09:37:57 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/zhouhuiyu/.m2/repository
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager] Using mirror guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/) for guvnor-m2-repo (http://192.168.56.101:8080/kie-drools-wb/maven2/).
2017-09-15 09:37:57 DEBUG [org.eclipse.aether.internal.impl.DefaultDependencyCollector] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=0, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=0, DefaultDependencyCollector.collectTime=0, DefaultDependencyCollector.transformTime=0}
2017-09-15 09:37:58 INFO [org.drools.compiler.kie.builder.impl.KieRepositoryImpl] KieModule was added: ZipKieModule[releaseId=com.myteam:Project1:1.0.4,file=/Users/zhouhuiyu/.m2/repository/com/myteam/Project1/1.0.4/Project1-1.0.4.jar]
2017-09-15 09:37:58 DEBUG [org.appformer.maven.integration.embedder.MavenEmbedderUtils] Not in OSGi: using plexus based maven parser
> There is always HTTP 404 Error Where I request the maven2 in workbench
> ----------------------------------------------------------------------
>
> Key: DROOLS-1728
> URL: https://issues.jboss.org/browse/DROOLS-1728
> Project: Drools
> Issue Type: Bug
> Components: tools
> Affects Versions: 7.3.0.Final
> Environment: CentOS 6.8
> Virtual Box 5.x
> Tomcat 8.5.20
> kie-drools-wb-7.3.0.Final-tomcat8.war
> MySQL 5.6.x
> Reporter: HuiYu Zhou
> Assignee: Michael Anstis
> Priority: Blocker
> Labels: reported-by-qe
>
> I want to try KieScanner for the remote maven repo. So I setup the workbench and create "Project1" as a sample, I also build and deploy it successfully. I can see the jar named "Project1-1.0.0.jar" with GAV "com.myteam:Project1:1.0.0" exist in “Admin” -> "Artifacts".
> So I add the repository into my development pom.xml and the jar as dependency, but the jar can't been downloaded by Maven Project.
> I also try to open the url: http://192.168.56.101:8080/kie-drools-wb/maven2, but there is always HTTP Status 404 – Not Found happened with description " The origin server did not find a current representation for the target resource or is not willing to disclose that one exists."
> The most funny thing is I can open the url: http://192.168.56.101:8080/kie-drools-wb/maven2/com/myteam/Project1/maven..., the content is shown in my webpage as following:
> This XML file does not appear to have any style information associated with it. The document tree is shown below.
> <metadata>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <versioning>
> <release>1.0.0</release>
> <versions>
> <version>1.0.0</version>
> </versions>
> <lastUpdated>20170913142741</lastUpdated>
> </versioning>
> </metadata>
> As remote maven repo of workbench, why not like my private nexus maven that I can open the link even if it 's a folder?
>
> my pom.xml as following:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>drools</groupId>
> <artifactId>drools</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <drools.version>7.3.0.Final</drools.version>
> </properties>
> <repositories>
> <repository>
> <id>guvnor-m2-repo</id>
> <name>Guvnor M2 Repo</name>
> <url>http://192.168.56.101:8080/kie-drools-wb/maven2/</url>
> </repository>
> </repositories>
> <dependencies>
> <dependency>
> <groupId>com.myteam</groupId>
> <artifactId>Project1</artifactId>
> <version>1.0.0</version>
> </dependency>
> <!--drools dependencies -->
> </dependencies>
> </project>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 8 months