We are focusing on how to the flow right, how to make the code cleaner and 
maintainable at the mgt server side. We are not S3 expert, so I would say the 
"naïve" S3 implementation is a bug, and if you can help us to get it right(on 
object_store branch or after merged into master), that will be great!:)

> -----Original Message-----
> From: John Burwell [mailto:jburw...@basho.com]
> Sent: Thursday, May 23, 2013 1:56 PM
> To: dev@cloudstack.apache.org
> Subject: Re: [MERGE]object_store branch into master
> 
> Min,
> 
> Yes, I feel that class needs to be fixed before it can be merged into master.
> 
> Thanks,
> -John
> 
> On May 23, 2013, at 4:54 PM, Min Chen <min.c...@citrix.com> wrote:
> 
> > Thanks for your suggestions, John. Current code is working fine
> > functionality-wise, can we do such code cleanup and optimization
> > post-merge?
> >
> > -min
> >
> > On 5/23/13 12:54 PM, "John Burwell" <jburw...@basho.com> wrote:
> >
> >> Min,
> >>
> >> TL;DR There are rare circumstances where directly access the AWS HTTP
> >> API makes sense, but generally, you should use a client.
> >>
> >> If you need the size of an S3 object in advance, I recommend using
> >> AmazonS3Client#getObjectMeta method.  Also, large swathes of the
> >> class appear to be copied directly from HTTPTemplateDownloader and
> >> don't make sense when interacting S3.  For example, S3 does not
> >> support chunked HTTP operations or HTTP authentication.  As such,
> >> this class could be greatly simplified to operate in terms of S3Utils
> >> (likely with a few additional
> >> methods) to get this information.
> >>
> >> In terms of progress tracking of downloads and transfer operations, I
> >> recommend retrofitting S3Utils to leverage the TransferManager
> mechanism.
> >> In addition to providing progress information (TransferProgress), it
> >> also provides various operation optimizations (particularly for uploads).
> >> It also simplifies the interaction tremendously (e.g. it builds the
> >> PutRequest objects for you).
> >>
> >> Thanks,
> >> -John
> >>
> >> On May 23, 2013, at 12:12 PM, Min Chen <min.c...@citrix.com> wrote:
> >>
> >>> John, sorry for my ignorance. In S3TemplateDownloader.download, we
> >>> are only using HttpClient method to get the size and InputStream
> >>> from a given URL, then we are invoking S3 client library
> >>> putObject(PutObjectRequest) to download the content to S3. By using
> >>> PutObjectRequest, I can set ProgressListener to show download
> >>> progress to end user. What is your recommendation in this case?
> >>>
> >>> Thanks
> >>> -min
> >>>
> >>> On 5/23/13 7:20 AM, "John Burwell" <jburw...@basho.com> wrote:
> >>>
> >>>> Min,
> >>>>
> >>>> The com.cloud.storage.template.S3TemplateDownloader is directly
> >>>> accessing the S3 API using HTTP client.
> >>>>
> >>>> Thanks,
> >>>> John
> >>>>
> >>>> On May 22, 2013, at 5:57 PM, Min Chen <min.c...@citrix.com> wrote:
> >>>>
> >>>>> John,
> >>>>>
> >>>>>         Can you clarify a bit on your last comment about directly
> >>>>> accessing
> >>>>> S3
> >>>>> HTTP API? We are only invoking routines in S3Utils to perform
> >>>>> operations with S3, not invoke any REST api if that is what you
> >>>>> meant.
> >>>>>
> >>>>>         Thanks
> >>>>>         -min
> >>>>>
> >>>>> On 5/22/13 2:49 PM, "John Burwell" <jburw...@basho.com> wrote:
> >>>>>
> >>>>>> Edison,
> >>>>>>
> >>>>>> For changes that take as long as described, it should be expected
> >>>>>> that the review will take a proportional amount of time.  In
> >>>>>> future releases, we should think through ways to divide changes
> >>>>>> such as these into a set of smaller patches submitted throughout
> >>>>>> the course of the release cycle.
> >>>>>>
> >>>>>> So far, I can say I am very concerned about failure scenarios and
> >>>>>> potential race conditions around the NFS cache. However, I am
> >>>>>> only a quarter of the way through the code so my concerns may be
> >>>>>> resolved by the end of the process.
> >>>>>>
> >>>>>> I am also concerned about the correctness S3 implementation.  Why
> >>>>>> did you choose to directly access the S3 HTTP API rather using
> >>>>>> the client library?
> >>>>>>
> >>>>>> Thanks,
> >>>>>> -John
> >>>>>>
> >>>>>> On May 22, 2013, at 5:25 PM, Edison Su <edison...@citrix.com>
> wrote:
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: Chip Childers [mailto:chip.child...@sungard.com]
> >>>>>>>> Sent: Wednesday, May 22, 2013 1:26 PM
> >>>>>>>> To: dev@cloudstack.apache.org
> >>>>>>>> Subject: Re: [MERGE]object_store branch into master
> >>>>>>>>
> >>>>>>>> On Wed, May 22, 2013 at 08:15:41PM +0000, Animesh Chaturvedi
> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> From: Chip Childers [mailto:chip.child...@sungard.com]
> >>>>>>>>>> Sent: Wednesday, May 22, 2013 12:08 PM
> >>>>>>>>>> To: dev@cloudstack.apache.org
> >>>>>>>>>> Subject: Re: [MERGE]object_store branch into master
> >>>>>>>>>>
> >>>>>>>>>> On Wed, May 22, 2013 at 07:00:51PM +0000, Animesh
> Chaturvedi
> >>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>>> From: John Burwell [mailto:jburw...@basho.com]
> >>>>>>>>>>>> Sent: Tuesday, May 21, 2013 8:51 AM
> >>>>>>>>>>>> To: dev@cloudstack.apache.org
> >>>>>>>>>>>> Subject: Re: [MERGE]object_store branch into master
> >>>>>>>>>>>>
> >>>>>>>>>>>> Edison,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks, I will start going through it today.  Based on
> >>>>>>>>>>>> other $dayjob responsibilities, it may take me a couple of
> days.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks,
> >>>>>>>>>>>> -John
> >>>>>>>>>>> [Animesh>] John we are just a few days away  from 4.2
> >>>>>>>>>>> feature freeze, can
> >>>>>>>>>> you provide your comments by Friday 5/24.   I would like all
> >>>>>>>>>> feature
> >>>>>>>> threads
> >>>>>>>>>> to be resolved sooner so that we don't have last minute rush.
> >>>>>>>>>>
> >>>>>>>>>> I'm just going to comment on this, but not take it much
> >>>>>>>>>> further...
> >>>>>>>>>> this type of change is an "architectural" change.  We had
> >>>>>>>>>> previously discussed (on several
> >>>>>>>>>> threads) that the appropriate time for this sort of thing to
> >>>>>>>>>> hit master was
> >>>>>>>>>> *early* in the release cycle.  Any reason that that consensus
> >>>>>>>>>> doesn't apply here?
> >>>>>>>>> [Animesh>] Yes it is an architectural change and discussion on
> >>>>>>>>> this started a
> >>>>>>>> few weeks back already, Min and Edison wanted to get it in
> >>>>>>>> sooner by
> >>>>>>>> 4/30
> >>>>>>>> but it took longer than anticipated in  preparing for merge and
> >>>>>>>> testing on feature branch.
> >>>>>>>>
> >>>>>>>> You're not following me I think.  See this thread on the
> >>>>>>>> Javelin
> >>>>>>>> merge:
> >>>>>>>>
> >>>>>>>> http://markmail.org/message/e6peml5ddkqa6jp4
> >>>>>>>>
> >>>>>>>> We have discussed that our preference is for architectural
> >>>>>>>> changes to hit master shortly after a feature branch is cut.
> >>>>>>>> Why are we not doing that here?
> >>>>>>>
> >>>>>>> This kind of refactor takes time, a lot of time. I think I
> >>>>>>> worked on the merge of primary storage refactor into master and
> >>>>>>> bug fixes during
> >>>>>>>
> >>>>>>>
> >>>>>>>
> March(http://comments.gmane.org/gmane.comp.apache.cloudstack.dev
> >>>>>>> el/14
> >>>>>>> 46
> >>>>>>> 9)
> >>>>>>> , then started to work on the secondary storage refactor in
> >>>>>>> April(http://markmail.org/message/cspb6xweeupfvpit). Min and I
> >>>>>>> finished the coding at end of April, then tested for two weeks,
> >>>>>>> send out the merge request at middle of May.
> >>>>>>> With the refactor, the  storage code will be much cleaner, and
> >>>>>>> the performance of S3 will be improved, and integration with
> >>>>>>> other storage vendor will be much easier, and the quality is
> >>>>>>> ok(33 bugs fired, only
> >>>>>>> 5
> >>>>>>> left:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> https://issues.apache.org/jira/issues/?jql=text%20~%20%22Object_
> >>>>>>> Store
> >>>>>>> _R
> >>>>>>> ef
> >>>>>>> actor%22). Anyway, it's up to the community to decide, merge it
> >>>>>>> or not, we already tried our best to get it done ASAP.
> >>>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >

Reply via email to