[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [jakartaee-platform-dev] [External] : Re: Concurrency TCK without remote EJB, javax.rmi.RemoteException
 | 
  
    I believe this case isn't covered in our process documentation
      (at least that I am aware of). In the Java EE days, a Fix would
      only be allowed by introduction of an alternate test. The
      rationale being that, some vendor might have passed the TCK using
      the original test. By following the 'alternate' path, if a vendor
      had passed the original test (even if they had not submitted
      results yet), they could continue doing so without impact to their
      previous work. New (as well as existing) vendors could select from
      the original and alternates at their discretion.
    If I recall, we decided to simply forego the discussion and
      inclusion of the process describing alternate tests until a later
      date since that wasn't needed, when the process was originally
      codified under the JESP. Now might be a good time to consider
      adding that to the process text.
    The key requirement, in my opinion being that we do not know
      where other vendors are in their certification process and we do
      not want to invalidate work done using a previously released
      artifact. Even if it's just an 'implementation detail' I don't
      know that we can be sure that such a change would not impose
      rework on a vendor product.
    From what I have read on this, I would recommend this be added as
      an alternate test. The original and alternate tests should be
      resolved in a later feature release of the TCK/Specification.
    I will discuss the issue of alternate tests with the
      Specification Committee separately.
    Scott, if alternate was necessary, do you know how you would go
      about that? (I'd think a property in the TCK config/setup would be
      easiest but I'm not the one writing the code.)
    
    -- Ed
    
    On 7/6/2022 9:37 AM, Scott Stark wrote:
    
    
      
       We discussed the current situation in today's
        platform TCK call with the proposed TCK PR that both removes all
        usage of jakarta.ejb.Remote and EARs and how that is problematic
        because it introduces failures in the full platform run. It was
        pointed out that perhaps simply excluding tests that won't run
        on the web profile could work. I had thought this could
        potentially exclude all tests, so I just looked at adding a test
        group to any test using an EAR deployment, and turned all remote
        ejb interfaces into simple interfaces. This does allow the tck
        to run and pass on GlassFish full platform and web profile:
      
      
      
        Full platform:
        ===============================================
        jakarta-concurrency
        Total tests run: 149, Passes: 149, Failures: 0,
          Skips: 0
        ===============================================
        
        
        [INFO] Tests run: 149, Failures: 0, Errors: 0,
          Skipped: 0, Time elapsed: 288.889 s - in TestSuite
        [INFO] 
        [INFO] Results:
        [INFO] 
        [INFO] Tests run: 149, Failures: 0, Errors: 0,
          Skipped: 0
        [INFO] 
        [INFO] 
        
        
        Web profile with eefull group excluded:
        ===============================================
        jakarta-concurrency
        Total tests run: 100, Passes: 100, Failures: 0,
          Skips: 0
        ===============================================
        
        
        [INFO] Tests run: 100, Failures: 0, Errors: 0,
          Skipped: 0, Time elapsed: 211.601 s - in TestSuite
        [INFO] 
        [INFO] Results:
        [INFO] 
        [INFO] Tests run: 100, Failures: 0, Errors: 0,
          Skipped: 0
        
        
        
        
       
      While a non-trivial number of tests are excluded, it is not even
      the majority of tests, so perhaps that is an acceptable
      alternative for EE10. There is a PR for review on this set of
      changes to the concurrency TCK here:
      
        https://github.com/jakartaee/concurrency/pull/250
          
            
              
              
                
                  
                    
                  
                  
                    
                      Thanks
                          Scott. 
                       
                      Personally
                          I think you should be able to fix tests, where
                          the test is buggy, as long as the
                          post-conditions aren’t tightened. At the end
                          of the day if someone is affected by a change
                          and they fail a TCK service release which they
                          previously passed they can ultimately raise
                          another challenge on the service release and
                          get the test excluded.
                       
                      Steve
                       
                      
                       
                      
                        Ok,
                          we discussed this during the spec committee
                          call and it is not so clear, so I'll use this
                          PR as a test case for what is allowed. It is
                          being raised to the spec committee via email.
                       
                       
                      
                        
                        
                          
                            
                              
                                
                                  OK
                                    I’m not that familiar with the TCK
                                    challenge process and service
                                    releases. I thought we could only
                                    exclude or workaround challenged
                                    tests in a service release. I didn’t
                                    realise we could fix them.
                                
                                   
                                
                                  If
                                    we can that’s great. 
                                
                                   
                                
                                  Steve
                                
                                   
                                
                                
                                   
                                
                                  
                                    Nothing in these changes violates
                                    the definition of a service release
                                    to address a tck challenge in the
                                    tck process as far as I see. They
                                    are not new tests and the existing
                                    remote interface usage is an
                                    implementation detail of the test.
                                    The only time a minor release is
                                    mentioned in the tck process is for
                                    the case of adding new tests.
                                 
                                
                                
                                
                                   
                                
                                  
                                  
                                    
                                      
                                        
                                          
                                            Wouldn’t
                                              incorporating a change of
                                              that magnitude into TCK
                                              require a new concurrency
                                              TCK minor release and
                                              ballot?
                                          
                                             
                                          
                                          
                                             
                                          
                                            
                                              I have create a fork of
                                              the concurrency project
                                              and update the tck to only
                                              use local EJBs and even
                                              removed use of
                                              javax.rmi.RemoteException:
                                           
                                          
                                          
                                          
                                            
                                              I have build the current
                                              glassfish repo and run
                                              the appserver/tests/tck/concurrency
                                              project against a build of
                                              this version of the
                                              concurrency TCK. It is
                                              showing no errors when run
                                              with SE 17. The PR for
                                              this update is here:
                                           
                                          
                                          
                                          
                                            
                                              I'm not sure how to test
                                              this against a web profile
                                              configuration of
                                              glassfish. Can that be
                                              done from the
                                              appserver/tests/tck/concurrency
                                              project?
                                           
                                          
                                          
                                          
                                         
                                       
                                     
                                    
                                  
                                 
                               
                             
                           
                          
                        
                       
                     
                   
                 
                
              
             
           
         
       
      
      
      _______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev__;!!ACWV5N9M2RV99hQ!MZDnu9L2hqo9wd91U64kundoxzdLvZTvUdJV7_SQH5nVSan8Abk9JYIeL75JepyzPiClsbiDuiczea0v$