[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [glassfish-dev] Splitting up the jakarta work
 | 
  
  
    I think we have different ideas of what the bottom is.  :-)
    
    Find the things with the fewest dependencies and change them first. 
    Maybe that's the top?  :-)
    
    
Steve Millidge (Payara) wrote on
      3/24/20 1:56 AM:
    
    
      
      
      
      
        Bottom
            up would likely be something like Inject but I fear that
            will hit almost everything. I was leaning towards top down
            but again I think that will likely require a 80% change to
            do effectively.
            
         
        
         
        Changing these
          in parallel is probably hopeless.
          
          To the extent possible, we should be changing them "bottom
          up".
          
          Find the smallest set that you can change, do that, then move
          up the dependency tree.  There may be places where you're just
          stuck doing a whole bunch at once.
        
          arjan tijms wrote on 3/23/20 12:42 PM:
         
        
          
            Hi, 
            
            
              Some of the "edge" libs (that don't
                depend on other things) are somewhat easier to be done,
                but you often do bump in to each other when
                changing poms and the implementation code. For instance,
                when updating for Jakarta Servlet and updating for
                Jakarta Authentication you touch the same classes in
                GlassFish (e.g the RealmAdaptor and the code it calls).
             
            
            
              Updating of the components (Grizzly,
                Jersey, Mojarra, Soteria, ...) is something that's much
                easier done in parallel, but not everything is directly
                under the GlassFish project.
             
            
            
              I'm continuing to look on what causes
                the test instabilities.
             
            
            
            
            
            
            
            
            
            
           
           
          
            
            
              
                
                  Yeah
                    Jenkins seems unstable for testing GlassFish at the
                    moment.
                    
                   
                  What’s
                    your conclusion on how easy it is to do these
                    library changes in parallel?
                   
                  Steve
                   
                  
                   
                  
                    
                      Hi,
                      
                      
                        In
                          parallel to this I've spend time updating some
                          of the dependencies. Unfortunately after
                          working on Bean Validation, randomly in some
                          tests GlassFish doesn't fully boot on Eclipse
                          Jenkins, causing the asadmin start-domain
                          command to time out.
                       
                      
                      
                        Debugging
                          this is hideously difficult due to the
                          randomness of the hangs.
                       
                      
                      
                      
                      
                      
                      
                      
                     
                   
                   
                  
                    
                    
                      
                        
                          Same
                            thing is discussed in this JSON-P PR
                            integration
                            
https://github.com/eclipse-ee4j/glassfish/pull/22943 where JSON-P
                            should have a small impact given it is a new
                            api but it needs an updated Jersey or the
                            server won’t start.
                           
                          Steve
                           
                          
                           
                          Problem
                            is the code doesn’t compile unless we
                            potentially go through an implementation
                            phase when we support two versions of the
                            library e.g. Jakarta Transactions at the
                            same time with both javax and Jakarta as
                            dependencies which means adding the new
                            dependency in some places then unpicking it
                            later. Which seems brittle.
                            
                           
                          For
                            example I tried to add Jakarta Transactions
                            as it is needed for Jakarta Connectors. So I
                            started changing namespace of references to
                            it in the code base. Unfortunately it is
                            used in public javax EJB apis so now the
                            GlassFish EJB code does not implement
                            javax.ejb interfaces so I need to update EJB
                            to use Jakarta namespace and so on and so
                            on…
                           
                          I’m
                            tempted to change all namespace in one go
                            and fix compilation errors but then I
                            suspect I will also need all the upstream
                            implementation projects to be ready that are
                            not part of GlassFish or I suspect the
                            server won’t start with OSGI errors. Yuk.
                           
                           
                          Steve
                           
                          
                           
                          Can
                            this not be one, one library at a time? That
                            is, each PR handles the changes for the
                            library and all of its references, but no
                            more? 
                          
                          
                            Russ
                            
                               
                              
                                
                                 
                                
                                  
                                    I
                                      recently started trying to do the
                                      work to integrate Jakarta
                                      connectors namespace change as the
                                      implementation of the api is in
                                      core GlassFish. However to do so I
                                      also had to start doing the work
                                      on Jakarta transactions. Also now
                                      I’ve hit that I also need to do
                                      all the changes for EJB as well or
                                      GlassFish won’t compile. I have a
                                      horrible suspicion that this
                                      change is likely going to suck in
                                      a lot of the apis and hit a huge
                                      chunk of the code base.
                                   
                                  
                                  
                                    Does
                                      anybody have any good ideas on how
                                      to work in parallel on a lot of
                                      this work?
                                   
                                  
                                  
                                    I’m
                                      starting to think that a large
                                      chunk of the work is going to have
                                      to be done in one go in one PR!
                                   
                                  
                                  
                                    Does
                                      anybody have a better idea?
                                   
                                  
                                  
                                  
                                  
                                  _______________________________________________
                                      glassfish-dev mailing list
                                    glassfish-dev@xxxxxxxxxxx
                                      To unsubscribe from this list,
                                      visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!KCrJfd9RxFJu3Yvq84Jj8UgY83QDwEKWPYX5Hw-_GeC1B3j0wOFQUWQ7x_RKjmE-7w$
                                 
                              
                             
                             
                           
                         
                       
                      _______________________________________________
                        glassfish-dev mailing list
                        glassfish-dev@xxxxxxxxxxx
                        To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/glassfish-dev
                    
                   
                 
               
              _______________________________________________
                glassfish-dev mailing list
                glassfish-dev@xxxxxxxxxxx
                To unsubscribe from this list, visit 
                  https://www.eclipse.org/mailman/listinfo/glassfish-dev
            
           
          
            
            
          _______________________________________________
          glassfish-dev mailing list
          glassfish-dev@xxxxxxxxxxx
          To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!KbpRnRElprFfOPngnvy1FHw3eKd9debZMR84vwrZJLdnzse9rMoVRroaHuFCR3KHvg$ 
        
         
       
      
      
      _______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!OQ4WGJa23rpYcO7lLB3tIvi_NlikXTAJOvEQ6gGNiRw1DJ8pGY--851awvGPy7eq0g$