Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343513

Summary: P2 does not fetch content.jar from new version update site
Product: [Eclipse Project] Equinox Reporter: Marcin Waldowski <marcin.waldowski1>
Component: p2Assignee: P2 Inbox <equinox.p2-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: beyhan.veliev
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Marcin Waldowski CLA 2011-04-21 06:56:50 EDT
Build Identifier: 20110218-0911

P2 after receiving 'HEAD content.jar' response decides incorrectly to not execute 'GET context.jar'. It occurs when content.jar modified date is before date of previous fetch of content.jar.

Workaround is to change modified date of update site files to current date right before deploying update site files.

Reproducible: Always

Steps to Reproduce:
Step 1: Build application and update site in version 1.

Step 2: Build application and update site in version 2.

Step 3. Unpack application in version 1. Deploy update site in version 1 to Apache Httpd. 

Result: Content.jar is fetched, P2 does not find any changes. It is correct. 

Request:
HEAD /ekm/content.jar HTTP/1.1
Cache-Control: max-age=0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: mwaldowski:8080

Response:
HTTP/1.1 200 OK
Date: Thu, 21 Apr 2011 06:24:28 GMT
Server: Apache/2.2.17 (Win32)
Last-Modified: Wed, 20 Apr 2011 12:33:56 GMT
ETag: "1e000000101651-15247-4a158d6931500"
Accept-Ranges: bytes
Content-Length: 86599
Content-Type: application/java-archive

Request:
GET /ekm/content.jar HTTP/1.1
Cache-Control: max-age=0
Accept-encoding: gzip
User-Agent: Jakarta Commons-HttpClient/3.1
Host: mwaldowski:8080

Response:
HTTP/1.1 200 OK
Date: Thu, 21 Apr 2011 06:24:28 GMT
Server: Apache/2.2.17 (Win32)
Last-Modified: Wed, 20 Apr 2011 12:33:56 GMT
ETag: "1e000000101651-15247-4a158d6931500"
Accept-Ranges: bytes
Content-Length: 86599
Content-Type: application/java-archive

[Binary content]

Step 4. Use application from step 1. Deploy update site in version 2.

Result: Content.jar is not fetched because 'content.jar version 1 fetch date' > 'content.jar version 2 last modified date'. P2 does not find any changes which is incorrect. 

Request.
HEAD /ekm/content.jar HTTP/1.1
Cache-Control: max-age=0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: mwaldowski:8080

Response.
HTTP/1.1 200 OK
Date: Thu, 21 Apr 2011 06:38:19 GMT
Server: Apache/2.2.17 (Win32)
Last-Modified: Wed, 20 Apr 2011 12:44:44 GMT
ETag: "1100000010ff03-14d2f-4a158fd32c700"
Accept-Ranges: bytes
Content-Length: 85295
Content-Type: application/java-archive
Comment 1 Beyhan Veliev CLA 2011-04-21 12:07:51 EDT
I think this a duplicate of bug 324200

*** This bug has been marked as a duplicate of bug 324200 ***