Repository: sunpy/sunpy

Issue:
Fido HECClient returns out-of-date results
When trying to access HEC data through Fido HECClient, the data returned is ~1 month out of date. Looking at the current web gui for the HEC API, it returns events up to today but through Fido, the latest data is from ~ 2021-11-03

```python
from sunpy.net import Fido, attrs as a


timerange = a.Time('2021/11/01 00:00:00', '2021/12/01 00:00:00')
results_hec = Fido.search(timerange,
                           a.helio.TableName('gevloc_sxr_flare'))
results_hec                         
<sunpy.net.fido_factory.UnifiedResponse object at 0x000002B89664B730>
Results from 1 Provider:

10 Results from the HECClient:
     time_start     ...
------------------- ...
2021-11-02T02:57:00 ...
2021-11-02T07:37:00 ...
2021-11-02T12:55:00 ...
2021-11-02T21:09:00 ...
2021-11-03T00:10:00 ...
2021-11-03T00:56:00 ...
2021-11-03T08:15:00 ...
2021-11-03T14:32:00 ...
2021-11-03T14:43:00 ...
2021-11-03T15:18:00 ...

```
I have also tested with 'goes_sxr_flare' and get roughly the same time for the latest event ( 2021-11-02T21:09:00 )
You can see the expected returns from this query for both gevloc and goes_sxr here:

http://hec.helio-vo.eu/hec/hec_gui_fetch.php?y_from=2021&mo_from=11&d_from=1&y_to=2021&mo_to=12&d_to=1&radioremote=on&titlesearch2=&goes_sxr_flare=istable&gevloc_sxr_flare=istable


- SunPy Version: 3.1
- Astropy Version: 4.3.1
- Python Version: 3.8.8
- OS information: Win & WSL same issue



Discussion:
Sorry I took so long to look at this.

The answer is that its a default/documentation issue.

The `HECClient` by default (I don't know why) limits its responses to 10 entries long.

So if you do 
```
results_hec = Fido.search(timerange, a.helio.TableName('gevloc_sxr_flare'), a.helio.MaxRecords(999))
print(results_hec)
```
You get 251 results, that go to the end of the timerange as requested. 

It might be time to increase the default value to something other than 10. Emitting a warning too maybe?
Thanks @nabobalis , 

>It might be time to increase the default value to something other than 10. Emitting a warning too maybe?

both sound like good changes.

Resolving patch:
diff --git a/sunpy/net/helio/hec.py b/sunpy/net/helio/hec.py
--- a/sunpy/net/helio/hec.py
+++ b/sunpy/net/helio/hec.py
@@ -16,7 +16,7 @@
 from sunpy.net.helio import attrs as ha
 from sunpy.net.helio import parser
 from sunpy.time import parse_time
-from sunpy.util.exceptions import warn_deprecated
+from sunpy.util.exceptions import warn_deprecated, warn_user
 
 __all__ = ['HECClient', 'HECResponse']
 
@@ -106,6 +106,10 @@ def search(self, *args, **kwargs):
         Used to utilize the service's TimeQuery() method, this is a simple
         interface between the sunpy module library and the web-service's API.
 
+        .. note::
+           By default the maximum records returned by the service are limited to 500.
+           To obtain more results ``a.helio.MaxRecords`` must be set to a higher value.
+
         Examples
         --------
         >>> from sunpy.net.helio import attrs as ha
@@ -152,7 +156,7 @@ def search(self, *args, **kwargs):
             table = str.encode(table)
         start_time = qrdict['Time'].start
         end_time = qrdict['Time'].end
-        max_records = qrdict.get('max_records', 10)
+        max_records = qrdict.get('max_records', 500)
         while table is None:
             table = self.select_table()
         start_time = parse_time(start_time)
@@ -162,7 +166,12 @@ def search(self, *args, **kwargs):
                                                     FROM=table,
                                                     MAXRECORDS=max_records)
         results = votable_handler(etree.tostring(results))
-        return HECResponse(results.to_table(), client=self)
+        table = HECResponse(results.to_table(), client=self)
+        if len(table) == max_records == 500:
+            warn_user("Number of results is the same as the default `max_records` of 500. "
+                      "It is possible your query has been truncated. "
+                      "If you want to change this, set `a.helio.MaxRecords` to a higher value.")
+        return table
 
     def get_table_names(self):
         """


Test patch: