Fix data member order and remove the duplicate HFT server

Only the single main server should be used. So tests test what is used in production.

The data member order matters and it solves a race condition where during destruction unsubscribe gets called. We will need to destruct services last.

#tlbmc
#tlbmc-hft

PiperOrigin-RevId: 771265026
Change-Id: I6bc67f2eff81d666a2b060dc0e40be0727dfc7da
diff --git a/g3/server.h b/g3/server.h
index 165fb6b..c9f7a29 100644
--- a/g3/server.h
+++ b/g3/server.h
@@ -163,12 +163,12 @@
   // `cert_provider_` must be initialized before and destructed after the other
   // data members.
   std::unique_ptr<::milotic::redfish::BmcWebCertProvider> cert_provider_;
-  std::unique_ptr<grpc::Server> server_;
+  RedfishServiceConfig config_;
   std::unique_ptr<ecclesia::GrpcRedfishV1::CallbackService> service_;
   std::unique_ptr<milotic_fast_sanity::FruServiceImpl> fru_service_;
   std::unique_ptr<milotic_hft::HftServiceImpl> hft_service_;
-  RedfishServiceConfig config_;
   ecclesia::SubscriptionService* subscription_service_ = nullptr;
+  std::unique_ptr<grpc::Server> server_;
 };
 }  // namespace milotic
 
diff --git a/tlbmc/store/store_impl.cc b/tlbmc/store/store_impl.cc
index eba9b20..a95daef 100644
--- a/tlbmc/store/store_impl.cc
+++ b/tlbmc/store/store_impl.cc
@@ -45,7 +45,7 @@
                                             Collector::Type type) const {
   switch (type) {
     case Collector::Type::kSensor:
-      return all_collectors_.sensor_collector->ConfigureCollection(config);
+        return all_collectors_.sensor_collector->ConfigureCollection(config);
     default:
       return absl::InvalidArgumentError("Unsupported collector type");
   }