[jira] [Updated] (TS-702) FATAL: MIME.cc:1250: failed assert `j block_count`

2011-04-21 Thread Yakov Markovitch (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Markovitch updated TS-702:


Attachment: (was: trafficserver.2.1.7.too.many.mimefields.patch)

 FATAL: MIME.cc:1250: failed assert `j  block_count` 
 -

 Key: TS-702
 URL: https://issues.apache.org/jira/browse/TS-702
 Project: Traffic Server
  Issue Type: Bug
  Components: MIME
Affects Versions: 2.0.1
 Environment: Sun Blade X6240 (64G Ram), Running Linux Debian Lenny, 
 Kernel  2.6.26-2-amd64 
Reporter: Ricky Chan
Priority: Critical
 Fix For: 2.1.8


 I have 20 servers in a CDN farm which I brought live recently, I have noticed 
 with in a day 5 servers had this error reported in traffic.out.  Essentially 
 aborting due to assertion failure.  The server restarts (from traffic_cop).
 This platform has not had any load go through it yet, it's running around 
 5MB/s a second with around 25 connection per second.  So doing much.
 I was going to migrate more traffic onto it, but holding off due to this 
 assertion issue.
 Looking at the code, we have:
 for (j=0; j  block_count; j++) {
  ... with a condition which breaks out ..
 }
 ink_release_assert(j  block_count) 
 So for this assert to be hit the entire list must be gone through without 
 triggering the break clause, i.e. j == block_count
 I don't know this code well, is this a real bug or should the assert be there 
 (or j = block_count)?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-702) FATAL: MIME.cc:1250: failed assert `j block_count`

2011-04-21 Thread Yakov Markovitch (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Markovitch updated TS-702:


Attachment: trafficserver.2.1.7.too.many.mimefields.patch

Updated patch for mime_hdr_field_block_list_adjust

 FATAL: MIME.cc:1250: failed assert `j  block_count` 
 -

 Key: TS-702
 URL: https://issues.apache.org/jira/browse/TS-702
 Project: Traffic Server
  Issue Type: Bug
  Components: MIME
Affects Versions: 2.0.1
 Environment: Sun Blade X6240 (64G Ram), Running Linux Debian Lenny, 
 Kernel  2.6.26-2-amd64 
Reporter: Ricky Chan
Priority: Critical
 Fix For: 2.1.8

 Attachments: trafficserver.2.1.7.too.many.mimefields.patch


 I have 20 servers in a CDN farm which I brought live recently, I have noticed 
 with in a day 5 servers had this error reported in traffic.out.  Essentially 
 aborting due to assertion failure.  The server restarts (from traffic_cop).
 This platform has not had any load go through it yet, it's running around 
 5MB/s a second with around 25 connection per second.  So doing much.
 I was going to migrate more traffic onto it, but holding off due to this 
 assertion issue.
 Looking at the code, we have:
 for (j=0; j  block_count; j++) {
  ... with a condition which breaks out ..
 }
 ink_release_assert(j  block_count) 
 So for this assert to be hit the entire list must be gone through without 
 triggering the break clause, i.e. j == block_count
 I don't know this code well, is this a real bug or should the assert be there 
 (or j = block_count)?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TS-702) FATAL: MIME.cc:1250: failed assert `j block_count`

2011-04-21 Thread Yakov Markovitch (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13022780#comment-13022780
 ] 

Yakov Markovitch commented on TS-702:
-

I've attached an updated patch with all issues addressed.

 FATAL: MIME.cc:1250: failed assert `j  block_count` 
 -

 Key: TS-702
 URL: https://issues.apache.org/jira/browse/TS-702
 Project: Traffic Server
  Issue Type: Bug
  Components: MIME
Affects Versions: 2.0.1
 Environment: Sun Blade X6240 (64G Ram), Running Linux Debian Lenny, 
 Kernel  2.6.26-2-amd64 
Reporter: Ricky Chan
Priority: Critical
 Fix For: 2.1.8

 Attachments: trafficserver.2.1.7.too.many.mimefields.patch


 I have 20 servers in a CDN farm which I brought live recently, I have noticed 
 with in a day 5 servers had this error reported in traffic.out.  Essentially 
 aborting due to assertion failure.  The server restarts (from traffic_cop).
 This platform has not had any load go through it yet, it's running around 
 5MB/s a second with around 25 connection per second.  So doing much.
 I was going to migrate more traffic onto it, but holding off due to this 
 assertion issue.
 Looking at the code, we have:
 for (j=0; j  block_count; j++) {
  ... with a condition which breaks out ..
 }
 ink_release_assert(j  block_count) 
 So for this assert to be hit the entire list must be gone through without 
 triggering the break clause, i.e. j == block_count
 I don't know this code well, is this a real bug or should the assert be there 
 (or j = block_count)?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TS-745) Support ssd

2011-04-21 Thread mohan_zl (JIRA)
Support ssd
---

 Key: TS-745
 URL: https://issues.apache.org/jira/browse/TS-745
 Project: Traffic Server
  Issue Type: New Feature
  Components: Cache
Reporter: mohan_zl
Assignee: mohan_zl


A patch for supporting, not work well for a long time with --enable-debug

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-745) Support ssd

2011-04-21 Thread mohan_zl (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mohan_zl updated TS-745:


Attachment: ssd_support.patch

The demand is described in https://cwiki.apache.org/TS/ssdsupport.html, now i 
write a simple patch for supporting ssd. This is obviously a temporary scheme, 
and now it only supports one ssd plus several sata.

 Support ssd
 ---

 Key: TS-745
 URL: https://issues.apache.org/jira/browse/TS-745
 Project: Traffic Server
  Issue Type: New Feature
  Components: Cache
Reporter: mohan_zl
Assignee: mohan_zl
 Attachments: ssd_support.patch


 A patch for supporting, not work well for a long time with --enable-debug

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TS-475) HTTP SM should support efficient byte range requests

2011-04-21 Thread vijaya bhaskar mamidi (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13023059#comment-13023059
 ] 

vijaya bhaskar mamidi commented on TS-475:
--

Eric, I am looking at some of the stuff that i can work on. Are you working on 
this? if not, can i take over ?

 HTTP SM should support efficient byte range requests
 

 Key: TS-475
 URL: https://issues.apache.org/jira/browse/TS-475
 Project: Traffic Server
  Issue Type: Bug
  Components: HTTP
Reporter: Leif Hedstrom
Assignee: Eric Balsa
Priority: Critical
 Fix For: 2.1.9


 The cache has support for efficiently locate a particular range in the cached 
 object, but the HTTP SM does not support this. In order to make Range: 
 request efficient (particularly on large objects), the SM should support this 
 new cache feature.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-745) Support ssd

2011-04-21 Thread mohan_zl (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mohan_zl updated TS-745:


Attachment: ssd_support2.patch

Add missing file

 Support ssd
 ---

 Key: TS-745
 URL: https://issues.apache.org/jira/browse/TS-745
 Project: Traffic Server
  Issue Type: New Feature
  Components: Cache
Reporter: mohan_zl
Assignee: mohan_zl
 Attachments: ssd_support.patch, ssd_support2.patch


 A patch for supporting, not work well for a long time with --enable-debug

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TS-475) HTTP SM should support efficient byte range requests

2011-04-21 Thread Eric Balsa (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13023071#comment-13023071
 ] 

Eric Balsa commented on TS-475:
---

VJ, yes, you can take it or we can collaborate to finish it up. I would say my 
local copy is 80% there but needs some work and i've been stupid busy with work 
 baby.

Here's what i've done so far: John (and me to a small extent) got 
CacheVC::do_io_pread() working on the cache so we can now (theoretically, 
though barely tested) seek to arbitrary locations on a cache object. 

The SM currently uses a transform for handling Range requests. The logic is 
something like: 
* lookup full object from cache
* check for range header
* setup a transform hook to be handled during HttpTunnel
...
* do_io_read() on the object and hand that vio to the transform hook
* transform the object by re-reading certain headers, parse the C-L  Range 
headers, and do Range: transform work

What I was working on was changing the model to store the Range: logic in the 
SM rather than inside the Transform (RangeTransform objects). 
In HttpSM::do_range_setup_if_necessary() i bounce into a couple other fns to 
parse the Range: header similar to what the transform does now (almost 1:1 with 
RangeTransform:: and setup various Range settings in the t_state) 

Then, when we read from the cache, we can simply do a do_io_pread() with the 
proper known offsets. 

Problems: 
1) This only handles the simple case of Range:bytes=1-10 but not the 
complicated case of Range:bytes=1-10,70-80,100-500 . I think this would satisfy 
90% of the uses cases (Leif thinks most clients don't do anything too crazy :) 
). For the complicated case, I still am using the transform (if # of Ranges 
1). Ideally, we should somehow handle this with only object::do_io_pread()s 
but the issue, as I see it, is we are so far down in processing (at the point 
where we tunnel the cache object to the client), that it would be difficult (I 
think) to re-tunnel multiple partial contents (along with each added Range 
content separator). Just a pita b/c you have work with the VIO, loop(read the 
i-th range, add separators, i++), and finally, make sure you have the C-L 
right. I'm sure it's doable, but I punted and figured I would just hand it to 
the existing transform but then complicated Range: requests would still 
do_io_read() the whole object. 

2) My patch needs a ton of cleanup but IIRC (been a few weeks) I had it serving 
the simple case without any transforms  using do_io_pread() along with the 
right C-L (always a good thing), but i'll email it to you and you give give it 
a whirl. 

3) ...more

We can chat on IRC if you want to talk more about this.
--Eric

 HTTP SM should support efficient byte range requests
 

 Key: TS-475
 URL: https://issues.apache.org/jira/browse/TS-475
 Project: Traffic Server
  Issue Type: Bug
  Components: HTTP
Reporter: Leif Hedstrom
Assignee: Eric Balsa
Priority: Critical
 Fix For: 2.1.9


 The cache has support for efficiently locate a particular range in the cached 
 object, but the HTTP SM does not support this. In order to make Range: 
 request efficient (particularly on large objects), the SM should support this 
 new cache feature.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (TS-746) Not possible to completel delete e.g. the Query part of a URL via plugins

2011-04-21 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom reassigned TS-746:


Assignee: Leif Hedstrom

 Not possible to completel delete e.g. the Query part of a URL via plugins
 -

 Key: TS-746
 URL: https://issues.apache.org/jira/browse/TS-746
 Project: Traffic Server
  Issue Type: Improvement
Reporter: Leif Hedstrom
Assignee: Leif Hedstrom
 Fix For: 2.1.8


 If you use an API call like
 {code}
 TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
 {code}
 the resulting request will still include a '?' e.g.
 {code}
 GET /? HTTP/1.1
 {code}
 I believe the same is true for other similar URL APIs, e.g. Path and matrix 
 parameters. We really ought to have a way to completely delete the component.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-746) Not possible to completel delete e.g. the Query part of a URL via plugins

2011-04-21 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-746:
-

Issue Type: Improvement  (was: Bug)

 Not possible to completel delete e.g. the Query part of a URL via plugins
 -

 Key: TS-746
 URL: https://issues.apache.org/jira/browse/TS-746
 Project: Traffic Server
  Issue Type: Improvement
Reporter: Leif Hedstrom
 Fix For: 2.1.8


 If you use an API call like
 {code}
 TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
 {code}
 the resulting request will still include a '?' e.g.
 {code}
 GET /? HTTP/1.1
 {code}
 I believe the same is true for other similar URL APIs, e.g. Path and matrix 
 parameters. We really ought to have a way to completely delete the component.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-746) Not possible to completel delete e.g. the Query part of a URL via plugins

2011-04-21 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-746:
-

Description: 
If you use an API call like

{code}
TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
{code}


the resulting request will still include a '?' e.g.

{code}
GET /? HTTP/1.1
{code}


I believe the same is true for other similar URL APIs matrix parameters and 
port. We really ought to have a way to completely delete the component.

  was:
If you use an API call like

{code}
TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
{code}


the resulting request will still include a '?' e.g.

{code}
GET /? HTTP/1.1
{code}


I believe the same is true for other similar URL APIs, e.g. Path and matrix 
parameters. We really ought to have a way to completely delete the component.


 Not possible to completel delete e.g. the Query part of a URL via plugins
 -

 Key: TS-746
 URL: https://issues.apache.org/jira/browse/TS-746
 Project: Traffic Server
  Issue Type: Improvement
Reporter: Leif Hedstrom
Assignee: Leif Hedstrom
 Fix For: 2.1.8


 If you use an API call like
 {code}
 TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
 {code}
 the resulting request will still include a '?' e.g.
 {code}
 GET /? HTTP/1.1
 {code}
 I believe the same is true for other similar URL APIs matrix parameters and 
 port. We really ought to have a way to completely delete the component.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TS-746) Not possible to completel delete e.g. the Query part of a URL via plugins

2011-04-21 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-746:
-

Attachment: TS-746.diff

I'm thinking of an approach to change the semantics of these URL setter APIs 
slightly, to have a NULL string argument mean nuke me completely. E.g.

TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, NULL, 0);


See proposed patch for details. This has the advantage that no APIs changes, 
and there are no changes to the core (the core already handles the NULL pointer 
properly).

 Not possible to completel delete e.g. the Query part of a URL via plugins
 -

 Key: TS-746
 URL: https://issues.apache.org/jira/browse/TS-746
 Project: Traffic Server
  Issue Type: Improvement
Reporter: Leif Hedstrom
Assignee: Leif Hedstrom
 Fix For: 2.1.8

 Attachments: TS-746.diff


 If you use an API call like
 {code}
 TSUrlHttpQuerySet(rri-requestBufp, rri-requestUrl, , 0);
 {code}
 the resulting request will still include a '?' e.g.
 {code}
 GET /? HTTP/1.1
 {code}
 I believe the same is true for other similar URL APIs matrix parameters and 
 port. We really ought to have a way to completely delete the component.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira