Changes between Version 2 and Version 3 of PscMeeting11-05-2009


Ignore:
Timestamp:
Nov 5, 2009, 12:35:46 PM (14 years ago)
Author:
trevorwekel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PscMeeting11-05-2009

    v2 v3  
    55This meeting of the !MapGuide PSC will take place Thursday, November 5, 2009 at 18:00 UTC (2:00 PM ET / noon MT / 11:00 AM PT).
    66
    7 Meeting Chair:
     7Meeting Chair: Bob
    88
    99Universal Time:  http://www.timeanddate.com/worldclock/fixedtime.html?month=11&day=5&year=2009&hour=12&min=0&sec=0&p1=55
     
    1818== Minutes ==
    1919
    20 PSC Members present:
     20PSC Members present: Bob, Bruce, Tom, Haris, Kenneth, Trevor
     21
     22=== The 2.1 Release ===
     23 * The RC1 build is stable with a few minor issues.
     24 * Jason will rebrand the RC1 build as the official !MapGuide 2.1 release and post for the community.
     25 
     26=== Sponsorship ===
     27 * Trevor will create a Sponsorship page off the main !MapGuide OSGeo website once the donation button is ready.
     28
     29=== RFC 86 Pinned Connection ===
     30 * Autodesk is investigating a workaround for this RFC.
     31 * The RFC will be either updated or retracted based on Autodesk's investigation.
     32 * Tom will mark the RFC on hold pending the investigation.
     33 * Haris will forward Bruce details on an Feature Service updates/threading bug he discovered while working on the King.Oracle provider.
     34
     35=== TCP/IP Backward Compatibility ===
     36 * There are specific use cases where TCP/IP backward compatibility is useful.  However, implementing backward compatibility will require significant effort.
     37 * Haris, Bruce, and Trevor will collaborate on an RFC to determine an appropriate implementation for this feature.
     38 * Further discussion will be undertaken by the PSC once the scope is better understood.
    2139
    2240=== End of meeting ===
    2341
    2442== Full transcript ==
     43{{{
     44Start of #mapguide buffer: Thu Nov 05 13:21:30 2009
     45* Now talking in #mapguide
     46* Topic is 'MapGuide Open Source | Home: http://mapguide.osgeo.org/ | Bugs:
     47http://trac.osgeo.org/mapguide | See Also: #OSGeo #FDO | Stats: http://www.ohloh.net/proje
     48cts/4656 -and- http://cia.navi.cx/stats/project/MapGuide'
     49* Set by unknown on Thu May 29 12:24:17
     50* bdechant (n=chatzill@132.188.71.11) has joined #mapguide
     51* rbray (n=rbray@132.188.71.9) has joined #mapguide
     52<rbray> Hey all, just going to give folks another minute or two. Tom is whining about
     53  re-installing FireFox and now he does not have an IRC client
     54<rbray> Anyone care to take minutes?
     55<trevorw> I think I did last time, does that exclude me this time?
     56<rbray> Not at all - regular suckers welcome
     57<rbray> oh I mean volunteers
     58<trevorw> Ok.  Let me try something.  I may be able to do it again.  Haven't used the IRC
     59  client in a while.
     60* tomf2 (n=chatzill@132.188.71.3) has joined #mapguide
     61<rbray> Last I looked we only have one agenda item - 2.1 Release Update
     62<trevorw> I should be able to take minutes.  We might want to add RFC 86 Pinned Connection
     63  and TCP/IP forward compatibility to the agenda items.
     64<trevorw> (oops.  TCP/IP backward compat)
     65<rbray> ok
     66<trevorw> I can also give a one liner update on the Sponsorship RFC.
     67<rbray> ok
     68<rbray> Let's start with the release.
     69<rbray> If I read through the lines of Crispin's e-mail he was asking us to release based
     70  on RC1. Any thoughts or opinions?
     71<bdechant> We need to release - it is long overdue.
     72<trevorw> I haven't heard of any show stoppers with RC1.  Installer reboot is a bit
     73  annoying and there seem to be some issues with the GDAL provider and ECW.  Is anyone
     74  else aware of anything?
     75<HarisK> we are using 2.1 latest Jason builds in couple production sites
     76<rbray> So does anyone think we should not release 2.1 now?
     77<rbray> Silence speaks. So then I will offically motion to release 2.1.
     78<tomf2> +1
     79<rbray> +1 from me (it's way overdue)
     80<trevorw> +1 Trevor - we may need to rebrand the installer.  I can check with Jason.
     81<HarisK> +1
     82<bdechant> +1
     83<trevorw> Is Kenneth online?  He shows up in my IRC list.
     84<rbray> OK - Motion passed.
     85<rbray> Trevor, any basic rebrand is fine. When do you think we can get a build?
     86<trevorw> I'm not sure.  Jason was handling the 2.1 release.  I will ping him after the
     87  meeting.
     88<trevorw> I will add it as an action item - rebrand and send out official release ASAP.
     89<rbray> Cool thanks.
     90<rbray> Want to give us your sponsorship update next?
     91<trevorw> I have started working on open source builds of trunk.  As expected, there is a
     92  bunch of installer fixup to do.  Been a bit slow getting to it but will hopefully have
     93  more time next week.
     94<trevorw> For a Sponsorship update, Bob has granted me access to the mapguide osgeo pages
     95  and I have ping Tyler and Frank on how to create the sponsorship button in PayPal.  Both
     96  Tyler and Frank have been busy with quarterly financials so I am hoping to hear back
     97  from them soon.
     98<trevorw> I could update the main website but it might be a little strange if the
     99  Sponsorship/Donations page mentions a donate button that is not present.
     100<trevorw> So I was going to wait for the button before updating the website.
     101<rbray> Yea ok, I'd wait on that too.
     102<rbray> Keep us posted.
     103<rbray> On to the Pinned Connection RFC
     104<rbray> HEre is what I know...
     105<rbray> We (Autodesk) are going to put that RFC on hold.
     106<rbray> I personally did not like it. The team who requested it believes they have a
     107  workaround which they are investigating as we type.
     108<tomf2> It looks most likely that we will retract it because we can get equivalent
     109  functionality from the short transaction API (RFC 78)
     110<rbray> They actually planned to use it to hold connections for the lifetime of a session.
     111  Which is not something I really support having explicit support for in our API.
     112<tomf2> ...but yes, still investigating
     113<rbray> So after we know if the workaround will work, then we will update the RFC
     114<rbray> It will either (A) be removed, or (B) be brought back in some form
     115<rbray> depending on whether the workaround works out
     116<rbray> Any questions or concerns with this?
     117<HarisK> by session in RFC I always thaught HTTP session
     118<HarisK> I think it is even worse to have it "pinned" as part of MG session
     119<HarisK> that is at leats my first impression
     120<rbray> Yea me too, that's why I got vocal about it.
     121<rbray> So Tom - can you update the status of that RFC and somehow mark it as On Hold.
     122<tomf2> And that's also the reason we don't want to make this an API that people would use
     123  indiscriminately
     124<tomf2> It would need to be used carefully or scalability and session replication are out
     125  the door
     126<tomf2> session replication === failover
     127<rbray> Yep
     128<HarisK> yes
     129<tomf2> I will mark the RFC as "on hold"
     130<HarisK> my big vote would be for no-session MG
     131<trevorw> I agree with you Bob, gobbling up Fdo connections is a serious scalability issue
     132  but having an exposed connection object is more in line with other apis (java and .Net).
     133   Not sure if there is a way to force the connections back into the pool after a specific
     134  period of time.  Session lifetime based connections are definitely dangerous.  HTTP call
     135  lifetime would be better as Haris suggested.
     136<tomf2> done (marking on hold)
     137<rbray> Also - please erase the voting history.
     138<rbray> No one who votted on it understood the underlying implications, which is really
     139  bad.
     140<tomf2> Sure, there is none --- the previous vote wasn't completed
     141<rbray> ok
     142<rbray> There is also a bug related to that RFC, where if you are using a connection and
     143  issue another command using the same resource id you get another connection.
     144<rbray> We want to fix that. I think it's in Bruce's queue of work.
     145<tomf2> That will be fixed as a bug, don't need an RFC for that
     146<bdechant> Yup I'm fixing that up now
     147<HarisK> yes, that is someting to fix
     148<rbray> Right, just a bug fix
     149<bdechant> It is a bug fix if the provider supports PerCommandThreaded or Multithreaded
     150  only
     151<HarisK> btw, Jason is home - sick
     152<bdechant> All providers today or PerConnectionThreaded - except GDAL which is
     153  SingleThreaded
     154<bdechant> *are
     155<rbray> ok
     156<HarisK> hm, there was bug in MG with updates and threading
     157<HarisK> can't remeber more right now, but I do remeber I changed what King.Oracle suports
     158  because of this bug
     159<bdechant> Can you send me an email with the details Haris?
     160<HarisK> but that is another story i guess
     161<HarisK> yes, I will
     162<bdechant> Thanks
     163<rbray> or a ticket number?
     164<HarisK> hope to remember
     165<HarisK> :(
     166<bdechant> Yes a trac ticket # would be nice too :)
     167<HarisK> agree :)
     168<rbray> ok - if you think of it, send it to Bruce via the mail list.
     169<rbray> Trevor - can you mark that as an action?
     170<rbray> for Haris
     171<trevorw> Yes I will
     172<rbray> Next Item: Haris/Trevor, want to discuss TCP/IP backward compatibility
     173<HarisK> yes, I am working on georest
     174<HarisK> btw, it is here www.georest.org
     175<HarisK> together with Jason
     176<HarisK> and I was unplesanty surprise that I can't use one build for multiple MG versions
     177<HarisK> it turned out that I would need one build for every version of MG
     178<HarisK> because of incosistent serialization/deserialization
     179<HarisK> not incosistent but different
     180<trevorw> Georest uses the web extensions API directly, effectively a 2 tier app going
     181  against MapGuide Server?
     182<HarisK> and strangly it is even worse
     183<HarisK> platformbase of MG 2.1 OS will crash MG Ent 2010 server ( strangly )
     184<HarisK> yes
     185<HarisK> georest is using mapguidecommon, platforbase foundation...
     186<HarisK> to communicate with instance of MG
     187<rbray> So you are building against the C++ API that underlies PHP, .NET, JAVA?
     188<HarisK> sorry ?
     189<HarisK> georest is c++
     190<HarisK> http server or isapi or cgi ..
     191<HarisK> then using those MG common libraries (c++) to talk to MG
     192<rbray> AH
     193<HarisK> and it seems now I cant have one georest
     194<rbray> But you are linking against a specific build of the C++ code, and of course that
     195  cannot speak to older versions of MG
     196<HarisK> which could talk to different MG servers
     197<trevorw> Bob, the problem would also occur with php, .net, java if a 2.0 web extensions
     198  tried to talk to a 2.1 server.
     199<rbray> got it
     200<HarisK> yes
     201<rbray> yep
     202<HarisK> I found most of isues are about serialization/de
     203<trevorw> Or possibly even a 2.1 RTM web versus 2.1 SP1 server.
     204<HarisK> in which case versioning of those could help
     205<rbray> Depends
     206<trevorw> Yes.  Haris is correct.  For this to work, the Server would have to support
     207  previous versions of the TCP/IP ops.
     208<rbray> versioning means we can detect the issue.
     209<rbray> Actually making it work means supporting multiple stream versions.
     210<HarisK> yes, but mostly it would be about adding new objects or members to existing
     211  objects
     212<trevorw> And also be smart enough to send previous version objects back to the client in
     213  the response stream.
     214<HarisK> for example latest issue is that MG 2.1 beta doesn't serialize schema name with
     215  class definition
     216<bdechant> Maintaining multiple stream versions is lots of work :)
     217<HarisK> hile latest MG 2.1 has schema name
     218<HarisK> why lot of work ?
     219<trevorw> For the case Haris encountered, yes.  It is basically an object versioning issue
     220  on MgClassDefinition.
     221<bdechant> Lots of work because none of the infrastructure is there. Then once the
     222  infrastructure to handle multiple streams is in place you have to maintain all of the
     223  different stream versions.
     224<trevorw> It is difficult because the Server needs multiple paths to decode version 2.0,
     225  2.1, 2.x operations and also has to be smart enough to return the correct object
     226  signature in response to the operation version.
     227<tomf2> It sounds like we should put the version in the streams, but we will not be
     228  updating the web tier or server (infrastructure) to be able to talk to different
     229  versions of each other. Right?
     230<HarisK> in streams there are allready few stream versions which are unused right now
     231<bdechant> It is not just a simple task of adding a "Version" piece to the existing
     232  serialization/deserialization code and then you are done
     233<rbray> Well...
     234<HarisK> things like new member would be very easy to support, right ?
     235<rbray> We could do this in phases
     236<rbray> Phase 1: Actually make use of stream version and return an error on mismatch
     237<rbray> Phase 2: Implement logic to handle multiple
     238<bdechant> I would like to add the "Version" to the streams now and then tackle the
     239  compatibility as a 2nd phase
     240<bdechant> I see Bob is already typing this :)
     241<rbray> At least with (1) the behavior would be predictable.
     242<tomf2> Is there a need to implement phase 2 in MG?
     243<rbray> For what Harris wants, yes. One georest impl - any MG
     244<rbray> But Harris, could you get by with just (1) for now?
     245<tomf2> Oh, right, he's using the API and not communicating directly with the server
     246<rbray> right
     247<rbray> as he should be
     248<trevorw> Third party C++ processing tools could also make use of this.  An older version
     249  of the processing tool would still work against new MapGuide Servers.
     250<tomf2> yeah, that seems like a lot of work to maintain going forward.  Aren't there any
     251  other possible solutions?
     252<trevorw> Same would go for "old" versions of third party php,.net,java libraries.
     253<Kenneth_> I agree with trevor that in the general case, the objects can change in a
     254  multitude of ways, and maintaining it is hard, but for the changes I have seen, there is
     255  usually an additional field that is added. This is the same as the item being added to
     256  the XSD, which easily supports multiple version.
     257<Kenneth_> There may be other changes, that I am not aware of.
     258<trevorw> I can certainly work with Bruce and others on an RFC to support TCP/IP backward
     259  compatibility.  There would be a lot of design decisions to make.
     260<Kenneth_> But I still belive that the integration is too tight, forcing too much logic in
     261  the classes that have multiple purposes
     262<tomf2> Who would implement and fund the work?
     263<Kenneth_> If there is an intermediate layer that parses a "binary JSON" into C++ classes
     264  (and back) it would be better
     265<rbray> I'd vote for an initial RFC that focuses on using versions and supporting the
     266  basic use cases.
     267<Kenneth_> The version logic could be handled in the parser layer
     268<HarisK> I am not completly sure how important it is
     269<trevorw> I am sure we can come up with a solution for this but it would be a lot of work
     270  to maintain and test.  All contributors would have to agree to do it.  It would be a
     271  fundamental part of the coding standards.
     272<HarisK> but it looks bad that I can't put out one application which would work with both
     273  MG 2.1 and Ent 2010
     274<rbray> HarisK: Agreed
     275<trevorw> That's the problem.  Currently all developers are facing a recompile for each
     276  new version of MapGuide.
     277<tomf2> Then just choose Ent 2010 :)
     278<CIA-35> MapGuide: brucedechant * r4330 /trunk/MgDev/Server/src/Common/Manager/
     279  (FdoConnectionManager.cpp FdoConnectionManager.h):
     280<CIA-35> MapGuide: Fix for trac ticket 1140 - Add better support for PerCommandThreaded/Mu
     281  ltiThreaded FDO providers
     282<CIA-35> MapGuide: http://trac.osgeo.org/mapguide/ticket/1140
     283<CIA-35> MapGuide: Notes:
     284<CIA-35> MapGuide: - Added a check for PerCommandThreaded/MultiThreaded FDO provider
     285  capability
     286<CIA-35> MapGuide: - Allow FDO connections to be reused if the underlying FDO provider
     287  supports PerCommandThreaded/MultiThreaded
     288<rbray> Bruce - multi-taksing are we?
     289<HarisK> :) customer choose
     290<bdechant> Yes :)
     291<Kenneth_> Harris, are you using PHP for development? .Net actually allows you to load
     292  multiple version of the same dll, so it would be theoretically possible, but annoying to
     293  actually do.
     294<tomf2> Yes, I'm just kidding, but couldn't multiple versions be put out, that are
     295  compiled against a particular version then...
     296<rbray> Tom - yes but that is painful.
     297<HarisK> yes I did just that
     298<HarisK> but had to dig in adsk sanbox
     299<HarisK> to find correct version to use
     300<rbray> And Haris would need to know our Enterprise revision numbers so he can build
     301  against the right version
     302<tomf2> We only release once every 2 years :(
     303<HarisK> and can hope it is right one
     304<tomf2> ...so not so painful
     305<HarisK> but then it doesnt work agains MG 2.0.2 or 2009 or ..:(
     306<rbray> yea this is a problem, I am just not sure who is going to fund/do the work
     307<trevorw> The problem is exacerbated by 3rd party vendors.  If a City subcontracts some
     308  library work against MG 2.0 then they have to back to contractor for a library update
     309  when they move to 2.1.  Make the move harder.
     310<rbray> There are some good solutions, but its a fair bit of work
     311<trevorw> Do we start with an RFC to figure out a plan of attack and then evaluate how
     312  painful it is going to be?
     313<HarisK> yeah :), I will build many georest's
     314<rbray> trevorw: Sure - at least then it's captured.
     315<rbray> Tom and/or Bruce: CAn you take an action to put this on our internal backlog of
     316  work to be done. I am sure it wont make it into a PRD, but it does not hurt to have it
     317  on the list.
     318<trevorw> Ok.  Who wants to be on the TCP/IP compat action item?  Trevor, Tom & Bruce?
     319<tomf2> I'll mention it to product management
     320<rbray> Don't forget Haris
     321<rbray> tomf2: Thanks.
     322<bdechant> Please include me Trevor
     323<tomf2> trevorw: not me, sorry
     324<rbray> We are a little over time. Any other issues?
     325<rbray> Then I motion that we adjourn.
     326<trevorw> Do we want an action item summary?
     327<rbray> Yes please put it in the minutes and send an e-mail to internals.
     328<HarisK> thank you all
     329<trevorw> Ok.  I will.  Please let me know if I miss something.
     330<rbray> and thanks for taking notes Trevor.
     331<rbray> thanks all.
     332<bdechant> bye everyone
     333End of #mapguide buffer    Thu Nov 05 13:21:30 2009
     334}}}